Skip to main content
Glama

@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

Related MCP server: MCP Playwright Server

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

email

string

Yes

Your Rover email

password

string

Yes

Your Rover password

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

Available Tools

13 tools
add_pet_profileB

Add a new pet to your Rover account. Requires being logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPet's name
speciesYesPet species
breedNoPet's breed
ageNoPet's age in years
weightNoPet's weight in pounds
sizeNoPet size category
temperamentNoDescription of pet's temperament and personality
specialNeedsNoAny special needs, medical conditions, or care requirements
vaccinatedNoWhether the pet is up to date on vaccinations
spayedNeuteredNoWhether the pet is spayed or neutered

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the authentication requirement ('Requires being logged in'), which is valuable. However, it doesn't describe what happens after adding (e.g., success/failure responses, whether the pet becomes immediately visible), potential side effects, or error conditions. For a creation tool with zero annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—just two short sentences that are front-loaded with the core action. Every word earns its place: the first sentence states the purpose, and the second provides a critical prerequisite. There's zero waste or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a creation tool with no annotations and no output schema, the description is incomplete. It lacks information about what the tool returns (e.g., a pet ID, confirmation message), error handling, or behavioral details like whether duplicate pets are allowed. The authentication note is helpful but insufficient for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly with descriptions and enums. The description adds no additional parameter information beyond what's in the schema. According to the rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a new pet') and resource ('to your Rover account'), making the purpose immediately understandable. It distinguishes from sibling tools like 'get_pets' (read) and 'update_pet_profile' (modify), though it doesn't explicitly mention these alternatives. The purpose is specific but could be slightly more differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides one clear usage guideline: 'Requires being logged in.' This gives essential context about prerequisites. However, it doesn't specify when to use this tool versus alternatives like 'update_pet_profile' or mention any exclusions (e.g., when a pet already exists). The guidance is implied but incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bookingsA

View your current and past bookings on Rover. Requires being logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the authentication requirement ('Requires being logged in'), which is useful, but doesn't describe other behavioral traits such as what data is returned, pagination, error handling, or rate limits. For a tool with zero annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences that are front-loaded with the core purpose and include essential context (authentication requirement). Every word earns its place with zero waste, making it highly efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description covers the basic purpose and authentication need adequately. However, without annotations or output schema, it lacks details on return values, data scope (e.g., time range limits), or error cases, which could be important for an AI agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema description coverage is 100%, so there's no need for parameter details in the description. The description appropriately focuses on the tool's purpose and context without redundant parameter information, earning a high baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('View') and resource ('your current and past bookings on Rover'), making the purpose understandable. However, it doesn't specifically differentiate this tool from sibling tools like 'get_favorites' or 'get_messages' beyond the resource type, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('View your current and past bookings') and includes a prerequisite ('Requires being logged in'), which is helpful guidance. It doesn't explicitly state when not to use it or name alternatives among siblings, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_favoritesA

Get your list of favorited sitters on Rover. Requires being logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the authentication requirement ('Requires being logged in'), which is useful behavioral context. However, it lacks details on return format, pagination, error conditions, or rate limits, leaving gaps in behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently communicates the tool's purpose and key requirement. Every word serves a purpose with no redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no annotations and no output schema, the description provides basic purpose and authentication context. However, it lacks information about what the returned data looks like, error handling, or performance characteristics, which would be helpful given the absence of structured output documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the inputs. The description doesn't need to add parameter information, and it appropriately focuses on the tool's purpose and context instead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('list of favorited sitters on Rover'), making the purpose understandable. It doesn't explicitly distinguish from siblings like 'get_sitter_profile' or 'search_sitters', but the focus on 'favorited sitters' provides reasonable differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage by stating 'Requires being logged in', which is a prerequisite. However, it doesn't explicitly mention when to use this versus alternatives like 'search_sitters' or 'get_sitter_profile', leaving some ambiguity about sibling tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_messagesB

Get your message threads on Rover. Optionally filter by sitter ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
sitterIdNoOptional sitter ID to get messages from a specific thread

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions filtering capability but lacks critical information: it doesn't specify whether this is a read-only operation (implied but not stated), what authentication is required, whether there are rate limits, what the return format looks like, or if there's pagination for large result sets. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two sentences that directly address the tool's purpose and main optional feature. Every word earns its place with zero redundancy. The structure is front-loaded with the primary purpose followed by the filtering capability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (retrieving message threads with optional filtering), no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what 'message threads' contain, how results are structured, whether authentication is needed, or any error conditions. For a data retrieval tool without structured output documentation, the description should provide more context about what the agent can expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single optional parameter 'sitterId' with its description. The description adds minimal value by mentioning 'Optionally filter by sitter ID' which essentially repeats what the schema provides. No additional semantic context about parameter usage or constraints is provided beyond the structured schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get your message threads on Rover' specifies the verb (get) and resource (message threads). It distinguishes from siblings like 'message_sitter' (which sends messages) and 'get_bookings' (which retrieves bookings). However, it doesn't explicitly differentiate from potential message-related tools that might exist in other contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance by mentioning the optional sitter ID filter, suggesting this tool is for retrieving existing message threads rather than creating new ones. However, it doesn't explicitly state when to use this versus alternatives like 'message_sitter' (for sending) or provide clear exclusion criteria (e.g., when not to use it for new conversations).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_petsA

List all pets registered on your Rover account. Requires being logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the authentication requirement ('Requires being logged in'), which is useful context. However, it lacks details on potential rate limits, error conditions, or what the return format looks like (e.g., list structure, pagination).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and followed by a prerequisite. Every word earns its place with no redundancy or fluff, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is adequate but has gaps. It covers the purpose and authentication need, but without annotations or output schema, it should ideally mention what the return data includes (e.g., pet details) to fully inform the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, and the baseline score for 0 parameters is 4, as it avoids unnecessary information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List all pets') and the resource ('registered on your Rover account'), distinguishing it from siblings like 'add_pet_profile' or 'update_pet_profile' which modify pet data rather than retrieve it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool ('Requires being logged in'), indicating a prerequisite. However, it does not explicitly state when not to use it or name alternatives, such as how it differs from 'get_favorites' or 'get_bookings' which retrieve other types of data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sitter_profileB

Get detailed profile information for a specific sitter including bio, reviews, services offered, and rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
sitterIdOrUrlYesSitter's Rover username/ID or full profile URL

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes what information is retrieved but does not disclose behavioral traits such as authentication requirements, rate limits, error handling, or whether this is a read-only operation (implied by 'Get' but not explicit). This leaves gaps for an AI agent to understand operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the key action and resource, followed by specific details. Every word earns its place, with no redundant or vague language, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (single parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and data returned but lacks context on behavioral aspects (e.g., auth, errors) and does not reference the output format, which is missing from the schema. This leaves the agent with some uncertainty about execution.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'sitterIdOrUrl' well-documented in the schema. The description does not add any additional meaning beyond what the schema provides (e.g., it doesn't clarify format examples or edge cases), so it meets the baseline for high schema coverage without compensating further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get detailed profile information') and the resource ('for a specific sitter'), with specific details about what information is included (bio, reviews, services, rates). It distinguishes from siblings like 'search_sitters' (which likely lists multiple sitters) by focusing on a single sitter's details, though it doesn't explicitly name the sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when detailed information about a specific sitter is needed, as opposed to 'search_sitters' for finding sitters. However, it lacks explicit guidance on when to use this tool versus alternatives like 'get_favorites' or 'message_sitter', and does not mention prerequisites (e.g., needing a sitter ID from search results).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

leave_reviewA

Leave a review for a sitter after a completed service. Requires being logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookingIdYesThe booking ID for the completed service
ratingYesRating from 1 to 5 stars
reviewTextYesWritten review describing your experience

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds context about prerequisites ('Requires being logged in') and the action's purpose, but does not detail other traits like rate limits, error handling, or what happens after submission. It adequately covers the basic operation but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and concise with two sentences that efficiently convey the tool's purpose and prerequisites. Every sentence earns its place without redundancy, making it easy to understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a mutation tool with no annotations and no output schema), the description is minimally complete. It covers the action and prerequisites but lacks details on return values, error cases, or side effects. It meets basic needs but leaves gaps for an AI agent to infer behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description does not add any extra meaning beyond what the schema provides, such as explaining parameter interactions or usage nuances. Baseline score of 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Leave a review') and target resource ('for a sitter after a completed service'), distinguishing it from siblings like get_bookings or message_sitter. It precisely communicates the tool's function without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by specifying 'after a completed service' and 'Requires being logged in,' which helps determine when to use it. However, it does not explicitly mention when not to use it or name alternatives, such as whether there are other review-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loginA

Log in to Rover with your email and password. Required before most operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesYour Rover account email address
passwordYesYour Rover account password

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions that login is required for most operations, implying session establishment, but lacks details on authentication method (e.g., token-based), session duration, error handling, or security considerations. It adds some context but misses key behavioral traits for an authentication tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action, and every sentence earns its place by stating the purpose and usage context. There is zero waste, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is minimal but covers the essential purpose and prerequisite nature. However, as an authentication tool with potential complexities (e.g., session management, errors), it lacks details on return values or behavioral nuances, making it adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (email and password) well-documented in the schema. The description mentions these parameters but doesn't add meaning beyond what the schema provides (e.g., format requirements or examples). Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Log in') and the target system ('Rover'), specifying authentication with email and password. It distinguishes itself from siblings by being the only authentication tool, though it doesn't explicitly name alternatives. The purpose is specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'Required before most operations.' This provides clear context that it's a prerequisite for other tools, guiding the agent to invoke it early in workflows involving Rover operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

message_sitterB

Send a message to a sitter on Rover. Requires being logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault
sitterIdYesSitter's Rover username/ID or profile URL
messageYesMessage text to send to the sitter

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the login requirement, which is a useful behavioral constraint, but fails to disclose other critical traits like whether this is a read/write operation, potential rate limits, confirmation of message delivery, or error conditions. This leaves significant gaps for a tool that likely performs a write action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two sentences, front-loading the core purpose and following with a key prerequisite. Every word earns its place with no redundancy or fluff, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is insufficient for a tool that likely performs a write operation (sending a message). It misses details like response format, error handling, side effects, or how it differs from sibling tools, leaving the agent with incomplete context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional parameter information beyond what's in the schema, such as format examples or constraints. This meets the baseline for high schema coverage but doesn't enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Send a message') and target ('to a sitter on Rover'), making the purpose understandable. However, it doesn't differentiate this tool from sibling tools like 'get_messages' or 'request_booking' that might also involve messaging, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides one explicit usage condition ('Requires being logged in'), which is helpful context. However, it doesn't specify when to use this tool versus alternatives like 'request_booking' (which might include messaging) or 'get_messages', leaving usage guidance incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_bookingB

Send a booking request to a sitter. Requires being logged in.

ParametersJSON Schema
NameRequiredDescriptionDefault
sitterIdYesSitter's Rover username/ID or profile URL
serviceTypeYesType of service to book
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format
petIdsYesList of pet IDs to include in the booking
messageNoOptional introductory message to the sitter

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions an authentication requirement ('Requires being logged in'), which is useful, but fails to describe other critical behaviors such as whether this is a read-only or destructive operation, what happens upon sending (e.g., confirmation, error handling), or any rate limits. This leaves significant gaps for a tool that likely performs a write action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just one sentence that efficiently states the purpose and a key requirement. It is front-loaded with the main action and wastes no words, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a booking request tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., mutation effects, response format), does not explain return values or errors, and provides minimal usage context. This leaves the agent with inadequate information to handle the tool effectively in real-world scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, meaning all parameters are documented in the input schema. The description does not add any additional meaning or context beyond what the schema provides (e.g., it doesn't explain parameter interactions or usage nuances). According to the rules, with high schema coverage, the baseline score is 3, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Send a booking request') and target ('to a sitter'), which distinguishes it from siblings like 'message_sitter' or 'search_sitters'. However, it doesn't specify what constitutes a 'booking request' versus other interactions, leaving some ambiguity about the exact outcome.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a prerequisite ('Requires being logged in'), which provides basic context for usage. However, it lacks explicit guidance on when to use this tool versus alternatives like 'message_sitter' or 'search_services', and does not mention any exclusions or specific scenarios for its application.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_servicesB

List all available Rover service types in a given location with descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesLocation to search for available services

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states it's a list operation, implying read-only behavior, but doesn't disclose details like pagination, rate limits, authentication needs, or error handling. For a tool with no annotations, this leaves significant behavioral gaps, scoring low due to insufficient disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('List all available Rover service types') and includes key details ('in a given location with descriptions'). There is no wasted text, and it's appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally complete. It covers the basic purpose but lacks behavioral details and usage guidelines. Without annotations or output schema, it should provide more context on what the list returns and how to use it effectively, leaving room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'location' fully documented in the schema. The description adds minimal value by implying location-based filtering but doesn't provide additional context like format examples or constraints beyond the schema. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'Rover service types', specifying the scope 'in a given location with descriptions'. It distinguishes from siblings like 'search_sitters' by focusing on service types rather than sitters. However, it doesn't explicitly contrast with other list-like tools such as 'get_bookings' or 'get_favorites', keeping it at 4 instead of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare with sibling tools like 'search_sitters' for finding sitters versus services. The context is implied through the tool name and description but lacks explicit usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_sittersB

Search for pet sitters on Rover by location and service type. Returns a list of available sitters with ratings and pricing.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesCity, neighborhood, or zip code to search in (e.g. 'Seattle, WA' or '98101')
serviceTypeYesType of pet care service
startDateNoStart date in YYYY-MM-DD format
endDateNoEnd date in YYYY-MM-DD format
petCountNoNumber of pets
petSizeNoSize of your pet

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return format ('list of available sitters with ratings and pricing') but lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements, pagination behavior, or error handling for invalid inputs. This is inadequate for a search tool with 6 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and output without redundancy. It is front-loaded with the core action ('Search for pet sitters') and avoids unnecessary details, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is incomplete. It adequately states the purpose but lacks usage guidelines, behavioral context (e.g., read-only nature, error cases), and output details beyond a high-level summary. The schema compensates for parameter documentation, but overall completeness is limited.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, providing clear documentation for all 6 parameters (e.g., location format, serviceType enums, date formats). The description adds minimal value beyond the schema by implying that location and serviceType are key filters, but it doesn't explain parameter interactions or constraints (e.g., how dates affect availability). Baseline 3 is appropriate given the comprehensive schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Search for pet sitters'), resource ('on Rover'), and scope ('by location and service type'), with a distinct purpose from sibling tools like 'search_services' (which likely searches for services rather than sitters) and 'get_sitter_profile' (which retrieves a specific sitter's details).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search_services' or 'get_sitter_profile', nor does it mention prerequisites (e.g., whether authentication is required) or exclusions (e.g., what happens if no sitters are found). It only states what the tool does without contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_pet_profileC

Update an existing pet's profile details such as size, temperament, and special needs.

ParametersJSON Schema
NameRequiredDescriptionDefault
petIdYesThe pet's ID on Rover
nameNoUpdated pet name
breedNoUpdated breed
ageNoUpdated age in years
weightNoUpdated weight in pounds
sizeNoUpdated size category
temperamentNoUpdated temperament description
specialNeedsNoUpdated special needs or care notes
vaccinatedNoUpdated vaccination status
spayedNeuteredNoUpdated spayed/neutered status

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't disclose important behavioral traits like what permissions are required, whether changes are reversible, what happens to unspecified fields, error conditions, or rate limits. It mentions what can be updated but not the behavioral implications of the update operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently communicates the tool's purpose with zero wasted words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 10 parameters, no annotations, and no output schema, the description is insufficient. It doesn't address important contextual aspects like authentication requirements, error handling, what the tool returns, or how partial updates work. The description covers basic purpose but leaves critical operational details unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions specific parameters (size, temperament, special needs) that align with the input schema, but with 100% schema description coverage, the schema already documents all 10 parameters thoroughly. The description adds minimal value beyond what's in the schema - it provides examples but no additional semantic context about parameter usage, constraints, or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update') and resource ('pet's profile details') with specific examples of fields that can be updated (size, temperament, special needs). It distinguishes this from 'add_pet_profile' which would create a new profile rather than update an existing one. However, it doesn't explicitly mention that this updates an existing pet profile versus other types of updates in the system.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'add_pet_profile' for creating new profiles or other tools for related operations. There's no mention of prerequisites, constraints, or typical usage scenarios beyond the basic purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv1.0.0
    • First observedadd_pet_profile
    • First observedget_bookings
    • First observedget_favorites
    • First observedget_messages
    • First observedget_pets
    • First observedget_sitter_profile
    • First observedleave_review
    • First observedlogin
    • First observedmessage_sitter
    • First observedrequest_booking
    • First observedsearch_services
    • First observedsearch_sitters
    • First observedupdate_pet_profile

TDQS

A3.7/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose targeting specific Rover operations like pet management, bookings, messaging, searching, and reviews. No tools overlap in functionality, making it easy for an agent to select the correct one without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., add_pet_profile, get_bookings, search_sitters). The naming is uniform across all 13 tools, using snake_case and clear action verbs, which aids predictability and readability.

Tool Count5/5

With 13 tools, the server is well-scoped for managing a Rover account, covering essential operations from login to bookings, messaging, and pet profiles. Each tool serves a distinct and necessary function, avoiding bloat while providing comprehensive coverage.

Completeness4/5

The tool set offers strong coverage of Rover's core user workflows, including CRUD for pets, bookings, messaging, and reviews. A minor gap exists in not having tools for updating or canceling bookings, which agents might need to work around, but overall the surface is nearly complete for the domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to automate web browsers through Playwright, providing capabilities for navigation, content extraction, form filling, screenshot capture, and JavaScript execution. Supports multiple browser engines with comprehensive error handling and security features.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to control web browsers through Playwright automation, providing 50+ tools for navigation, interaction, testing, accessibility audits, and visual testing across Chromium, Firefox, and WebKit.
    15
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/markswendsen-code/mcp-rover'

If you have feedback or need assistance with the MCP directory API, please join our Discord server