Crisphive

Build an AI Dispatching Agent for Field Service with Claude + Crisphive MCP

Connect Claude to a live (sandboxed) field service schedule, book a job in plain language, absorb a P0 emergency with a full cascade reschedule, and finish with a production hardening checklist. Free sandbox, no credit card — about 15 minutes end to end

By Logan Le8 min read0 views

What this is: a step-by-step tutorial that connects Claude to a live (sandboxed) field service schedule, books a job in plain language, absorbs a P0 emergency with a full cascade reschedule, and ends with a production hardening checklist. Time: about 15 minutes. Cost: nothing — the sandbox is free, no credit card, and MCP calls are never billed.

By the end you'll have an assistant that can do this:

You: Emergency plumbing job now at 99 Bank St for David Okafor (613-555-0198) — show me what gets rescheduled.

Claude: calls the dispatch tools and returns a plan — the emergency slotted at 1:15pm, two jobs moved with new ETAs, one SLA flagged tight, nothing committed yet. Approve?

The important part of that transcript is what Claude didn't do: it didn't invent the plan. Claude interprets the request; Crisphive's deterministic constraint solver computes the schedule — travel time, skills, certifications, protected breaks and SLAs as hard constraints — and returns it for approval. Same input, same schedule, every time. That division of labor is the whole architecture of this tutorial, so it's worth one diagram before we start:

You (plain language)
→ Claude (interprets intent, picks tools)
→ Crisphive MCP server — https://api.crisphive.com/mcp (43 tools)
→ REST API → deterministic constraint solver
← reviewable plan (jobs moved, new ETAs, SLA impact)
← Claude explains the plan and trade-offs
You approve → the schedule commits

What You Need

  • A Claude account — claude.ai, Claude Desktop, or Claude Code all work; connector support depends on your plan.

  • If you run a field service business on Crisphive: nothing else — you'll sign in with OAuth as the business owner.

  • If you're a developer without a Crisphive business: a free sandbox key. Sign up on the developers page and grab a chsk_test_ key — an isolated test environment against the same base URL. No credit card, no sales call.

Nothing gets installed or run in either case. The MCP server is hosted and remote, over Streamable HTTP.

Step 1 — Connect Claude to Crisphive

Path A — Operators (OAuth, One Click)

Open the Crisphive listing in the Claude connectors directory and click Connect. You'll be asked to sign in as the Crisphive business owner and approve the connection. That's the entire setup.

Prefer doing it by hand? In claude.ai or Claude Desktop: Settings → Connectors → Add custom connector, paste https://api.crisphive.com/mcp, and complete the OAuth sign-in when the consent screen opens.

Path B — Developers (Claude Code + Sandbox Key)

claude mcp add --transport http crisphive https://api.crisphive.com/mcp

To pin the session to your isolated sandbox instead of a live business, attach your test key:

claude mcp add --transport http crisphive https://api.crisphive.com/mcp --header "Authorization: Bearer chsk_test_YOUR_KEY"

Other MCP clients — Cursor, VS Code, Windsurf, Cline, Zed, LM Studio, Gemini CLI — take the same URL; the full client table lives in the GitHub README. Clients that only speak stdio can bridge with mcp-remote.

Checkpoint: ask Claude "What Crisphive tools do you have?" — you should see 43 tools across eight groups: job booking & appointments, work-order tracking, dispatch & availability, customer (CRM) sync, service catalogs, crews & rosters, service territories, and fleet.

Step 2 — Say Hello to the Schedule

Start with the three prompts from the directory listing — they're the same three everywhere Crisphive documents this connector.

Try these first:

  1. Schedule a 2-hour HVAC job at 145 Laurier Ave W tomorrow for Marie Tremblay, 613-555-0142.

  2. Emergency plumbing job now at 99 Bank St for David Okafor (613-555-0198) — show me what gets rescheduled.

  3. Outline my day tomorrow and flag anything at risk.

Run prompt 3 first — it's read-only, so it's a safe way to confirm the connection end to end.

Expected result: Claude calls the dispatch & availability and work-order tools, then returns tomorrow as an ordered timeline — travel legs between jobs, slack per job, and anything at risk (tight travel windows, jobs likely to overrun) flagged. Nothing on the board moves; read prompts never mutate.

Step 3 — Book a Job in Plain Language

Now prompt 1:

Schedule a 2-hour HVAC job at 145 Laurier Ave W tomorrow for Marie Tremblay, 613-555-0142.

What fires: job booking & appointments, customer sync (so the booking lands on the right account), and dispatch & availability (who can actually take it).

Expected result: a booked job with a placement rationale — which technician, why that one (skills, certification, proximity, existing route), and the exact window. If you want to see the constraint engine reason harder, tighten the ask:

Same job, but only a tech certified for gas fitting, and don't add more than 20 minutes of drive time to anyone's day.

The solver treats those as hard constraints, not suggestions. If nobody satisfies them, you get an honest "no feasible slot" with the binding constraint named — not a guess.

Step 4 — Absorb a P0 Emergency (the Cascade)

This is the step that separates a scheduling agent from a chatbot with a calendar. A burst pipe doesn't ask what time works for you — how do you automatically reschedule technician jobs mid-day when one lands?

Emergency plumbing job now at 99 Bank St for David Okafor (613-555-0198) — show me what gets rescheduled.

What fires: dispatch & availability, job booking, and work-order tools — and the solver runs a cascade reschedule: it re-plans every downstream job affected by the insertion, with travel time, mobilization, supply runs, protected breaks and SLA windows all held as hard constraints. A full cascade computes in under 3 seconds — measured on a 20-location, 3-vehicle fleet simulation with those constraints active.

Expected result — and this matters — a plan, not a change. Claude presents the dual plan: where the emergency slots in, every job that moves, each new ETA, and the total SLA impact. Nothing commits until you approve it. Every mutating flow on this server is a preview/commit pair by design; an agent that can silently rearrange a real dispatch board is not a feature, it's an incident.

Approve it, then ask:

Why did the 2pm water-heater job move but the 3pm inspection didn't?

Claude explains from the solver's actual output — the constraint that bound, the slack that existed — because the plan came from the solver, not from the model's imagination.

Step 5 — Make It Yours

Three directions to take the base agent, each one prompt away:

  • Availability discovery: "Find a 3-hour window in my work week when I can go on a bike ride with my wife without putting any jobs at risk." — ranks free windows by schedule slack; nothing moves.

  • Skill & travel matching: "Which of my technicians certified for gas fitting are free Thursday morning within 20 minutes of Kanata?"

  • Owner's briefing: "Give me a plain-English rundown of tomorrow across all my crews — where the risks are, and whether we're overcommitted anywhere."

The same 43 tools serve a dispatcher, a developer and an owner — the difference is only the voice you ask in. The MCP for Claude page keeps a copyable prompt library in all three voices.

Building this into software instead of a chat window? The same engine is a REST API — start at docs.crisphive.com, or see the integration-paths comparison for when MCP vs direct API is the right call.

Step 6 — Production Hardening Checklist

Before this leaves the sandbox:

  1. Keys expire — the default is 30 days, and the expiry email goes to the business owner, not necessarily to you. For production agents, issue 365-day keys and run two-key rotation: issue key B, deploy, verify traffic on B, revoke key A. An agency's agent dying with API_KEY_EXPIRED a month after launch is a churn event, not a bug report.

  2. Prefer OAuth for humans, keys for services. OAuth tokens are revocable from either side — Claude's connector settings or the Crisphive account — and no key ever touches a chat window.

  3. Keep preview/commit on. Resist the temptation to auto-approve cascades "to save a click" — the approval step is what makes an agent auditable to the dispatcher who overrides it tomorrow.

  4. Scope check: the connector sees scheduling data only — jobs, work orders, customers, crews, catalogs, territories, fleet. Billing and payment data are not exposed to it. Confirm that's true of anything you build downstream, too.

  5. Test the unhappy paths in the sandbox first: an infeasible job (no qualified tech), a cascade that breaches an SLA, a revoked token mid-session. Your agent's error handling is what your users will remember.

Frequently Asked Questions

Do I need a Crisphive business to try this?

No — the free chsk_test_ sandbox is an isolated test environment on the same base URL, no credit card required. OAuth sign-in is for connecting a real business as its owner.

Is Claude doing the scheduling?

No — and that's the point. Claude interprets what you ask; every booking, cascade and reschedule is computed by Crisphive's deterministic constraint solver. Ask the same question twice, get the same plan twice.

Can the agent change my real schedule without me?

No. Anything that moves existing work returns as a reviewable plan — jobs moved, new ETAs, SLA impact — and commits only after you approve it.

Does the MCP server cost extra?

No. MCP access is included on every business plan and on the free developer sandbox — MCP calls, cascades, reschedules and reads are never billed; billing counts live jobs only.

Which clients besides Claude work?

Any client that supports remote MCP servers over Streamable HTTP — ChatGPT, Gemini CLI, Cursor, VS Code, Windsurf, Cline, Zed and LM Studio among others. Stdio-only clients can bridge with mcp-remote.

Run a field crew and want to know what this engine would have done with last Tuesday's schedule? Book a free Shadow Schedule Audit — send a recent day of jobs, get back the drive hours and capacity it finds, within 48 hours.

Share this article

Was this article useful?

Be the first to rate this article.

Comments

0/2000

Keep reading

More How To notes
General

Why Field Service Scheduling Is Still Broken in 2026

Traditional dispatch boards haven't kept pace with modern field service demands, creating constant friction for dispatchers and technicians. Discover how agentic scheduling transforms automated dispatching to eliminate manual bottlenecks and optimize daily routes.