mcpField
F
fetchpet

fetchpet

Local
github.com/pulsemcpFinance81Updated 8w ago

About fetchpet

Fetch Pet MCP Server is an MCP server for managing Fetch Pet insurance claims through Playwright browser automation. It suits pet owners who want to submit claims, check claim status and download EOB and invoice documents from an MCP client. Claims are only submitted after an explicit confirmation token is provided, and the browser session runs locally.

Key features

  1. 01Prepare claim forms with validation without submitting
  2. 02Submit prepared claims with a confirmation token
  3. 03List active and historical claims in one call
  4. 04Get claim details and download EOB and invoices

Use cases

  1. 01Submitting a veterinary expense claim for a pet
  2. 02Checking the status of pending or completed claims
  3. 03Downloading the EOB or invoice for a specific claim

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-pulsemcp-fetchpet": {
"command": "npx",
"args": [
"-y",
"fetchpet-mcp-server"
],
"env": {
"FETCHPET_USERNAME": "<FETCHPET_USERNAME>",
"FETCHPET_PASSWORD": "<FETCHPET_PASSWORD>",
"HEADLESS": "<HEADLESS>",
"TIMEOUT": "<TIMEOUT>",
"FETCHPET_DOWNLOAD_DIR": "<FETCHPET_DOWNLOAD_DIR>"
}
}
}
}
Run commandnpx -y fetchpet-mcp-server
Environment variables to set
FETCHPET_USERNAMESecretYour Fetch Pet account email address.
FETCHPET_PASSWORDSecretYour Fetch Pet account password.
HEADLESSRun browser in headless mode (true/false).
TIMEOUTBrowser operation timeout in milliseconds.
FETCHPET_DOWNLOAD_DIRDirectory to save downloaded documents (EOB, invoices).

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmfetchpet-mcp-server0.1.8

Tools

4

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
pet_namestringYesName of the pet for this claim
invoice_datestringYesDate of the invoice (YYYY-MM-DD or MM/DD/YYYY)
provider_namestringYesName of the veterinary provider/clinic
invoice_amountstringYesTotal amount of the invoice (e.g., "$150.00" or "150.00")
claim_descriptionstringYesBrief description of the treatment or reason for claim
invoice_file_pathstringNoOptional path to the invoice file to upload
medical_records_pathstringNoOptional path to medical records file to upload

Details

From the project README

Fetch Pet MCP Server

MCP server for Fetch Pet insurance claims management using Playwright automation. Submit claims, track claim status, and view claim details including EOB and invoices.

Features

  • Prepare Claims - Fill out claim forms with validation (without submitting)
  • Submit Claims - Actually submit prepared claims with explicit user confirmation
  • View All Claims - See all claims (active and historical) in a single call
  • Claim Details - Get detailed information including EOB and invoice downloads

Tools

ToolDescription
prepare_claim_to_submitPrepare a claim form for submission (validates but does NOT submit)
submit_claimSubmit a prepared claim (requires user confirmation token)
get_claimsGet all claims (both active/pending and historical/completed)
get_claim_detailsGet detailed claim info including EOB and invoice downloads

Setup

Prerequisites
  • Node.js 18+
  • A Fetch Pet account (create one at fetchpet.com)
Environment Variables
VariableRequiredDescriptionDefault
FETCHPET_USERNAMEYesYour Fetch Pet account email-
FETCHPET_PASSWORDYesYour Fetch Pet account password-
HEADLESSNoRun browser in headless modetrue
TIMEOUTNoBrowser operation timeout (ms)30000
FETCHPET_DOWNLOAD_DIRNoDirectory to save downloaded files/tmp/fetchpet-downloads
Claude Desktop

Make sure you have your Fetch Pet account credentials ready.

Then proceed to the setup instructions below. If this is your first time using MCP Servers, you'll want to make sure you have the Claude Desktop application and follow the official MCP setup instructions.

Manual Setup

You're going to need Node working on your machine so you can run npx commands in your terminal. If you don't have Node, you can install it from nodejs.org.

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Modify your claude_desktop_config.json file to add the following:

{
  "mcpServers": {
    "fetchpet": {
      "command": "npx",
      "args": ["-y", "fetchpet-mcp-server"],
      "env": {
        "FETCHPET_USERNAME": "[email protected]",
        "FETCHPET_PASSWORD": "your-password"
      }
    }
  }
}

Restart Claude Desktop and you should be ready to go!

Usage Examples

Submit a new claim
"Submit a claim for my dog Buddy - I have an invoice from Test Vet Clinic for $150 dated January 15th for an annual checkup"

The assistant will:

  1. Use prepare_claim_to_submit to fill out the form
  2. Show you exactly what will be submitted
  3. Ask for your explicit confirmation
  4. Only then call submit_claim with the confirmation token
View claims
"Show me my active claims"
"What claims are pending?"
"Show my claim history"
"What's the status of my recent claims?"
Get claim details
"Get details for claim ABC123"
"Download the EOB for my last claim"
"Show me the invoice for that claim"

How It Works

This MCP server uses Playwright to automate a browser session with Fetch Pet:

  1. On server start: Launches a browser in the background and logs into your Fetch Pet account
  2. Browser session persists: All subsequent tool calls reuse the same logged-in session
  3. Smart navigation: Tools navigate to the appropriate pages as needed
  4. Stealth mode: Uses playwright-extra with stealth plugin to avoid bot detection
Claim Submission Safety

The claim submission process is designed with safety in mind:

  1. prepare_claim_to_submit fills out the form and validates everything but does NOT click submit
  2. It returns a unique confirmation token
  3. submit_claim requires this token, ensuring explicit user confirmation
  4. Without the correct token, claims cannot be submitted

Development

# Install dependencies
npm run install-all

# Run in development mode
npm run dev

# Build
npm run build

# Run tests
npm test

# Run integration tests
npm run test:integration

# Run manual tests (requires real credentials)
npm run test:manual

# Lint
npm run lint

Project Structure

fetchpet/
├── local/                 # Local server implementation
│   └── src/
│       └── index.ts       # Entry point with env validation
├── shared/                # Shared business logic
│   └── src/
│       ├── server.ts      # FetchPetClient with Playwright automation
│       ├── tools.ts       # MCP tool definitions
│       ├── types.ts       # TypeScript types
│       └── logging.ts     # Logging utilities
├── tests/                 # Test suites
├── package.json           # Root workspace config
└── README.md

Security Notes

  • Your Fetch Pet credentials are used only to log into your account
  • The browser session runs locally on your machine
  • No credentials are transmitted to any third-party services
  • Consider using environment variables rather than hardcoding credentials
  • Downloaded documents (EOB, invoices) are saved to the configured download directory

Limitations

  • Requires a valid Fetch Pet account
  • Browser automation may occasionally fail if Fetch Pet updates their website
  • Some operations require navigating between pages which takes time
  • The website uses a React app, so dynamic content loading may require waits

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.