Developers

Connect an AI assistant (MCP)

Connect Claude, ChatGPT, Cursor or any MCP client to ServFlo's MCP server, choose toolsets and handle approvals.

ServFlo runs an MCP server, so AI assistants such as Claude, ChatGPT and Cursor can work in ServFlo for you: look up a customer, book a job, draft a quote, send an invoice. The assistant uses the same API as the app, with your permissions, and everything it changes is in the activity log.

MCP server URL: https://app.servflo.ai/api/mcp (Streamable HTTP). Settings → Developers → Connect an AI assistant shows the exact URL with copy buttons and ready-made snippets.

Connect

You connect with an API key (any client) or by signing in with ServFlo (OAuth, for Claude.ai, Claude Desktop connectors and ChatGPT). Settings → Developers says whether sign-in with ServFlo is switched on for your account; until it is, use an API key. Make the key in Settings → Developers first (Authentication).

Claude.ai and Claude Desktop (sign in with ServFlo): open Settings → Connectors → Add custom connector, paste the MCP server URL and sign in with ServFlo. Choose the business the connector may use and approve it.

Claude Code (API key): run this in a terminal:

claude mcp add --transport http servflo https://app.servflo.ai/api/mcp \
  --header "Authorization: Bearer sfk_…"

Claude Desktop with an API key: add this to claude_desktop_config.json, then restart Claude:

{
	"mcpServers": {
		"servflo": {
			"command": "npx",
			"args": [
				"-y",
				"mcp-remote",
				"https://app.servflo.ai/api/mcp",
				"--header",
				"Authorization: Bearer sfk_…"
			]
		}
	}
}

The MCP server accepts only an API key or a ServFlo sign-in token, never a browser session, so a web page can't drive it on your behalf.

Tools

Every API endpoint your connection may call is an MCP tool, named after the endpoint with dots as underscores (customers.list → customers_list). Each endpoint in the API reference shows its tool name. Tools your role, key permissions or access level don't allow are not listed, and refused if called.

Workflow tools

These do a whole job in one call, the way a person would ask for it:

ToolWhat it does
book_jobFinds or creates the customer and their property, picks the time you gave (or the first open arrival window), and books the job.
find_booking_slotsLists open arrival windows for a service so the person can pick one. Books nothing.
quote_from_descriptionDrafts a quote from a plain description, matching each item to your pricebook. Lists anything it couldn't match.
invoice_job_and_sendInvoices a job (or reuses its open invoice) and sends it to the customer.
reschedule_visitMoves a visit to a new day and time, optionally to another technician, and warns about clashes.
customer_overviewA customer's record, Customer 360 and open jobs, quotes, unpaid invoices, memberships and requests.
whats_on_todayThe day's schedule by technician, plus unassigned and unscheduled work and new requests.
add_technicianAdds a technician and gives them a sign-in, after you approve it in ServFlo. Not in the default list: reach it with call_operation or ?toolsets=all.

Toolsets

Hundreds of tools are too many for most assistants, so tools come in toolsets. Without ?toolsets= you get the default set: about 50 everyday tools (customers, jobs, requests, quotes, invoices, payments, messages and the workflow tools) plus two search tools, find_operations (search everything your connection may do, in plain words) and call_operation (run any operation by name). Together they reach everything.

To list more tools, add toolsets to the URL:

ToolsetHolds
customersCustomers, contacts, properties, equipment, notes and files, Customer 360, portal links, consent, feedback
schedulingJobs, visits, dispatch and routes, the schedule, field work, visit safety, weather, capacity, time off, parts requests
salesRequests, quotes, the sales presenter, technician sales, memberships and plans, online booking
invoicesInvoices (single, batch, progress), payments, refunds, deposits, online payments, the Stripe account
teamTeam members and roles, technicians, time clock and timesheets, payroll, commissions, team chat
pricebookPricebook, service types, materials, stock and trucks, vendors, purchase orders, expenses, job costing
marketingCampaigns, segments, referrals, automations, templates, email designs, messages, website chat, website, QR codes, reviews, phone
adsGoogle and Meta ad accounts, campaigns and what ads returned
serviceReportsService and inspection reports, templates, release rules and agreements
reportsDashboard, every report, call reports, the event log, the activity log
settingsThe business, lead sources, custom fields, booking and dispatch settings, units, channels, integrations, webhooks, imports, the plan

Examples:

  • https://app.servflo.ai/api/mcp?toolsets=scheduling,invoices: those toolsets plus the search tools.
  • https://app.servflo.ai/api/mcp?toolsets=core,marketing: the default set plus marketing.
  • https://app.servflo.ai/api/mcp?toolsets=all: every tool (many hundreds).
  • https://app.servflo.ai/api/mcp?tools=search: only find_operations and call_operation, for clients with a small tool limit.

Any tool your connection may use can be called even when it isn't listed.

What a tool returns

Every result has the answer in result and a url: a link to the matching ServFlo screen (the job, the customer, the invoice), so the assistant can offer "Open in ServFlo". Tools are marked read-only or destructive, so assistants know which ones to ask you about.

ServFlo screens in the chat

In ChatGPT and Claude (web, desktop and mobile), the main tools show an interactive ServFlo screen in the conversation instead of text: today's schedule, Customer 360, a quote, an invoice, a time picker and revenue or receivables charts. You can reschedule a visit, book a job, edit a quote line or send an invoice right there. Other clients get the same data as text.

Approvals

Tools that move money, delete, contact customers or change access don't just run:

  • Assistants that support MCP's built-in confirmation forms ask you in the app.
  • Claude.ai, Claude Desktop and ChatGPT don't, so ServFlo asks you itself: you get a notification, approve the request on the AI assistant approvals page, and tell the assistant. It calls the tool again and it runs once.
  • The riskiest actions (deletes, refunds, inviting people, connecting outside systems, payouts, bulk sends) always wait for approval in ServFlo, in every client.

The assistant's own "Allow" button doesn't count as ServFlo's approval. See Approvals for the details.

One business per connection

  • An API key works in the business it was made in.
  • A sign-in connection works in the business you chose when you approved it. To use another business, connect again and choose it.

Limits

MCP tool calls count against the same rate limit as REST calls: 600 a minute per key, and per person per connected app.

On this page