Forward Deployed, the Benmore book, is out Read more →
All case studies

ERP Data Connector (Home Service Pass)

Application DevelopmentDesktop ApplicationNode.jsReactSME
CompanyERP Data Connector (Home Service Pass)
IndustryHospitality
LocationSalt Lake City, UT
PublishedSep 16, 2026, updated Sep 16, 2026
TypeA Benmore Technologies case study

Home Service Pass v2, Talking to Your Business Through an MCP Connector

A Benmore Technologies case study, in partnership with Home Service Pass.

Client: Brad Pierce & Eddie Juarez · FDE: Arkash Jain · Site: homeservicepass.com

Home Service Pass banner


1. Introduction

Overview

Home Service Pass (HSP) is a membership marketplace for in-person home services. Customers buy an annual pass, a vetted network of local providers fulfils it, and the HSP team runs the platform from a backoffice. Benmore built the platform in v1.

In v2, Benmore connected that platform to AI. HSP now has a custom MCP connector: admins, providers and customers open Claude or ChatGPT, sign in with their normal HSP account, and ask questions of the live system in plain English. "Which providers are falling behind this month?" "What am I owed?" "What's left on my pass?" The answer comes from production data, through the same rules the app already enforces.

Nothing was rebuilt. The connector sits on top of the existing codebase, reuses its permissions, and adds no new copy of customer data. It went from first commit to live in 18 days.

At a glance

Live since September 2026, on HSP's existing backend
Works with Claude (web and desktop), ChatGPT, Claude Code, the Anthropic API
Capabilities 52 signed-in tools (32 admin, 9 customer, 7 provider, 4 shared) plus 8 public tools
Safety 39 read-only · 4 low-risk writes · 9 money actions held for human approval
Sign-in HSP's own login, industry-standard OAuth, one-minute setup
Delivery 18 days · 28 commits · 279 automated tests

Challenge

  • Give three very different users (owners, providers, customers) AI access to their own data, from one integration
  • Let AI read and act, but never move money on its own
  • Reuse every permission the platform already has instead of writing new ones
  • Ship on the existing infrastructure, with no new servers and no new database

2. The Problem

Background

  • HSP's most useful data (revenue, customer lifetime value, provider performance, redemptions, payouts) lived behind admin screens and CSV exports
  • Every business question became a developer request or a spreadsheet afternoon
  • Providers and customers had smaller versions of the same problem: checking a schedule or a pass balance meant opening the app and tapping through

Pain Points

  • Analytics on request. Weekly numbers cost engineering time; ad-hoc questions cost more
  • Support load. Providers asking about payouts and job history; customers asking what their pass covers
  • Off-the-shelf AI tools are unsafe here. "Chat with your database" products want a database copy and a master key. That is a second, unmanaged store of customer data with no idea who is asking
  • AI agents can act without asking. Some AI research modes run with approvals switched off. A connector that can refund a pass on the model's say-so is a liability

3. Our Solution

What MCP is, in one paragraph

The Model Context Protocol (MCP) is the open standard that lets an AI assistant plug into an outside system. A business publishes a set of tools (things the assistant can look up or do), the assistant discovers them, and the user's own login decides which ones they may use. Claude, ChatGPT and most modern AI clients speak it natively. Benmore built HSP a custom MCP server so the platform shows up in those clients as a connector, the same way Slack or Google Drive do.

Discovery Process

  • HSP's backend already described every operation it supports, with a name, an input, an output and a permission rule. That description became the tool catalogue
  • Rather than wire the AI to the database, every tool call is routed through the real application, so the same login checks, rate limits and business rules apply as if the user had tapped a button in the app
  • The team set a hard ceiling on the number of tools, because an assistant chooses the right tool less reliably as the list grows

The rule that shaped everything: the connector declares what exists; it never decides anything itself. It calculates no prices, no commissions and no payouts. If a tool would ever allow more than the underlying feature allows, an automated test fails.

Core Value Proposition

One connector, three audiences, zero new data stores. Owners get answers in a sentence. Providers get their schedule and earnings in chat. Customers get their pass balance and can book from the answer. Every request is checked by the platform, logged, and, when money is involved, held for a person.

Proposed Solution

Where the capabilities go

Audience Tools Safety class Tools
Admins 32 Read-only 39
Customers 9 Money, staff approval required 9
Providers 7 Low-risk write 4
Shared by two roles 4
Public, no sign-in 8

Of the 52 signed-in tools, 39 are read-only, 4 are low-risk writes, and 9 touch money.

  • Admins ask for revenue and risk summaries, customer lifetime value and CAC, high-value and high-risk customers, provider performance, payouts and receivables, or a daily brief. Refunds and settlements go to the approval queue
  • Providers ask for their job queue, customers, booking history and payouts, and can schedule a booking
  • Customers ask what is on their pass, their credits, bookings and referral code, and can book a service
  • Anyone can check coverage by zip code, browse the catalogue and pricing plans, and read testimonials, without signing in

How a request flows

  1. The user asks a question in Claude or ChatGPT
  2. The assistant picks the matching HSP tool
  3. HSP checks the user's login and role, exactly as the app would
  4. Read-only tools return the answer immediately; money tools go to an approval queue
  5. The call is logged: who, which tool, how long, how many rows. Never the data itself

Technology Stack

Layer Technology
Protocol MCP (current 2026 revision, older client versions supported) over HTTPS, JSON only
Sign-in OAuth 2.1 with PKCE · automatic client registration · scopes issued per role
Tool definitions Generated from the platform's own API specification, never hand-written
Execution Every call replayed through the real Django application and its permissions
Approvals Money actions land in a queue in the HSP admin, approved by staff
Audit Every call recorded with redacted inputs, status, row count and latency
Hosting HSP's existing Heroku backend, with a kill switch that turns the connector fully off

4. Implementation

Step 1. Connect

Claude settings, Connectors: adding Home Service Pass as a custom connector by name and MCP server address

  • In Claude, open Settings → Connectors → Add custom connector, give it a name and paste the HSP server address. That is the whole setup; there are no API keys to copy
  • In ChatGPT the same connector is added under Settings → Connectors once developer mode is switched on

ChatGPT settings: developer mode enables custom connectors; an HSP services question is visible behind the dialog

Step 2. Sign in

Claude detects the connector's OAuth sign-in and registers itself automatically

  • Claude inspects the server and detects both Sign in now and Register automatically. The user never chooses a protocol; the client and HSP negotiate it
  • Sign-in is HSP's own login page. Whatever role the account has in the app (admin, provider, customer) is the role it has in chat
  • Every registered client appears in the HSP backoffice and can be revoked in one click

Who sees what after sign-in

Signed in as Tools visible Can read Can act
Admin 36 Revenue, LTV/CAC, risk, providers, payouts, receivables Refunds and settlements, via the approval queue
Provider 9 Own queue, customers, bookings, payouts Schedule a booking, update job notes
Customer 11 Own passes, credits, bookings, referral Book a service
Not signed in 8 Coverage, catalogue, pricing, benefits, testimonials Nothing

Step 3. Ask

Claude answer: bookings, completed jobs and completion rate for each provider company

  • "Which providers are completing their bookings?" returns a per-company table from production in one turn: bookings, completed jobs and completion rate

Claude answer: six redemptions over three days from two passes, with the top services redeemed

  • "What was redeemed this week?" returns the count, the number of unique passes and users, and the top services
  • Row counts and response times are logged for every call; the returned data is not stored, so the connector creates no second copy of customer information

What happens when a question touches money

Request What the AI gets back What happens next
"Refund this customer's pass" "Approval required", with a reference A pending action appears in the HSP admin with the exact before-and-after; staff approve or reject
"Settle this receivable" Same Same
"Pay this provider" Not available as a tool Deliberately excluded until a payment-gap fix lands
"Show me this month's revenue" The numbers Logged; nothing changes
  • Nine tools touch money: refunds, receivable settlement, commission changes, influencer codes. None of them can execute from an AI client
  • A test walks every money tool in the live registry and proves the rule holds

Why not just ask the model to confirm? Some AI modes run with confirmation disabled, so the "person" a confirmation prompt reaches would be the model. The approval therefore lives in a screen only staff can open.

Built for the infrastructure HSP already pays for

  • The connector runs on the same Heroku backend as the app, with no new servers
  • It uses a simple request-and-response transport rather than a streaming one, so idle AI sessions cannot tie up the web workers that serve customers
  • A single setting turns the connector fully off, returning "not found" before any request is processed

5. Results

Product Outcomes

  • Live in production for Claude, ChatGPT and Claude Code users
  • Bookings up 20% since launch
  • Business questions answered in 2 days instead of 9
  • 52 signed-in capabilities and 8 public ones, from one integration
  • No money moved by an AI: every money action goes through the approval queue
  • 18 days from first commit to live

Technical Achievements

  • Permissions inherited from the platform, verified by an automated test on every feature
  • Tool definitions generated from the API specification, so they can never drift from the app
  • 279 automated tests, including exhaustive checks over every registered tool
  • Audit without a data copy: inputs redacted, outputs never stored
  • A real off switch: one setting disables the connector before any processing

Measured impact

Reported by HSP after the first weeks of connector use.

Area Before After
Bookings Baseline +20%
Response time to a business question 9 days 2 days
Engineering time on ad-hoc reporting About 6 hours a week Near zero
Provider completion follow-up Monthly, by hand Weekly, by question
Gross margin Baseline Up, from faster receivable follow-up and fewer unbilled jobs

Business Impact

  • Data for the people who need it. The founders ask questions in a sentence instead of filing a request; turnaround fell from 9 days to 2
  • More bookings, better margins. Bookings rose 20%, and gross margin improved as receivables and unbilled jobs are followed up weekly
  • Same rules everywhere. An admin in Claude can do exactly what an admin in the backoffice can do, and nothing more
  • Safe by design. Approvals, permission checks and tool limits are enforced by tests, not by memory
  • Grows with the product. A new feature in the app becomes a new tool with one line of configuration

Read client reviews on Trustpilot ↗


6. Conclusion

HSP v2 turned a production marketplace into something its owners, providers and customers can talk to. Nothing was rewritten and no data was copied. The connector is 60 capabilities over the existing platform, governed by the platform's own permissions, with money held for a human and every call logged.

Roadmap

  • A 90-day review of bookings, margin and response-time figures
  • Provider actions from chat (reschedule, complete a job) with a provider-side approval view
  • Customer booking with payment handoff from the conversation
  • A public catalogue for prospective members to explore before joining
  • Re-admitting the payout settlement tool once the payment gap is closed

The architecture for all of it is already in place.


Put a forward deployed team inside your business.