Field Service Business Platform by Doing Work
by app.doingwork.work in Markets & finance
Headless field service software. Your AI agent runs jobs, schedules, quotes, invoices and payments.
https://doingwork.work/mcp- Tools
- 420
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 458 ms
- 590 ms slowest 5%
- Last check
- Passed
- 2 h ago, next in 4 h
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"field-service-business-platform-by-doing-work": {
"type": "http",
"url": "https://doingwork.work/mcp"
}
}
}420 tools
- auth_requestLink
Email a one-time sign-in link. Always answers ok, so it never reveals whether an email has an account.
- auth_sendLink
Email a person a one-time sign-in link that opens a named Doing Work screen after they sign in, so an agent can hand its person straight to the page that needs a human (brand, terms, job photos and so on). The screen comes from a fixed list: today, prices, brand, payments…
- auth_oauthRegister
Register an OAuth client (RFC 7591 dynamic registration). Public clients only: PKCE, no secret. Redirects must be https, or http on loopback.
- auth_oauthAuthorize
A signed-in person approves an agent client. Returns the redirect with a one-time code (PKCE S256). Needs a browser session, not an agent token. `resource` (RFC 8707) binds the token to this server's MCP endpoint.
- auth_oauthToken
Exchange an authorization code and PKCE verifier, or a refresh token, for a short-lived agent access token and a new refresh token. Refresh tokens rotate: each works once, and reusing one revokes the whole chain. With grant_type urn:workos:agent-auth:grant-type:claim and your…
- me_get
The signed-in person.
- me_shops
Shops the signed-in person belongs to right now, with their role. A shop key gets only the one shop that key is bound to.
- shops_create
Create a shop. The caller becomes its one owner. The caller must already have accepted the current Terms and Privacy on the sign-in page. Until then this call is refused. On the sign-up page the person can also record the shop Terms of Service (accept_terms_version) with the…
- members_invite
Invite a person by email as office or field. Owners and office can invite. The invite link works once.
- members_resendInvite
Email an open invite again with a new link, for a worker or office member who lost it or let it expire. The old invite is revoked and a new one is made with the same email and role: use the invite_id this returns from now on. The new link works once for 14 days. Owners and…
- members_sendPage
Email a current member of your shop a one-time sign-in link that opens one page: board (the day board, for owner or office), override (mark a job or visit done anyway, owner only), or capture (job photos, for anyone on the job; a field worker must be assigned to a visit on it)…
- members_accept
Accept an invite as the signed-in person. The invite email must match yours.
- members_list
Current members of a shop with role and start date.
- members_end
End a membership: the owner removes a worker, or a worker leaves. Shop tokens end with it. The owner cannot leave; ownership moves only by transfer.
- members_changeRole
Owner changes a worker between office and field. The old membership ends and a new one starts, so history keeps both.
- jobs_create
Start a job at a home (the home is found or created from the address).
- jobs_list
Jobs of a shop, newest first. Optional status filter.
- jobs_get
One job with its home address.
- media_requestUpload
Get a signed upload URL for a job photo or video. Before you call this, look at the file and say what it shows in summary: plain words, findings, any text you can read (model and serial plates), measurements, and for video a transcript, key moments and the length. If what you…
- media_list
List the photos and videos you are allowed to see, with what the agent said each shows (summary), taken time, GPS location, heading and camera details. Filter by job, kind, words in the summary or transcript (q), summary status, distance from a point, taken time, or whether it…
- media_map
Photos with a GPS location as a GeoJSON FeatureCollection (points in longitude, latitude order), ready for a map. Takes the same filters as media.list.
- media_get
One photo or video's details, including its full summary (findings, readable text, measurements, transcript and key moments), taken time, location, camera fields and the full metadata read from the file. Set include_content to get the stored bytes as base64 (metadata included)…
- jobs_requestConfirmation
Get a single-use link the customer opens to confirm the work was done (or flag a problem).
- media_setSummary
Write or correct what a photo or video shows. Use it to fix a summary, to fill in one marked needs_summary (older photos and browser captures have none), or after a person edits the words. Each change keeps the earlier wording. Workers on the shop can edit; the summary is never…
- media_needsSummary
Photos and videos with no summary yet: older uploads, browser captures, and uploads whose agent could not look at the file. Open each with media.get include_content, look at it, then send media.setSummary.
- quotes_create
Create a quote from lines the worker wrote. Lines are never filled in by AI. Optional: good, better, best options and optional lines the customer picks when signing.
- quotes_send
Lock the quote and get a single-use signing link for the customer.
- quotes_revise
Replace an unsigned quote with a new version. Earlier signing links stop working; send it again for a new link.
- quotes_withdraw
Withdraw a draft or sent quote the customer has not signed, with an optional reason. Signing links stop working and follow-ups stop. A withdrawn quote cannot be reopened; create a new quote if needed.
- subcontractors_get
The Idaho 45-525(3) subcontractor and supplier statement for a job: the latest signed one, any prepared draft, and whether final payment needs one.
- subcontractors_prepare
Prepare the Idaho 45-525(3) statement for the shop to sign: a list of subcontractors, materialmen and rental equipment providers over $500, or none_attestation "yes" for "No subcontractors or suppliers over $500 on this job". Does not sign.
- payments_connectLink
Owner only: the link to the shop's payment setup page. Give it to the owner; they open it, sign in, and press one button to set up card and bank payments with Stripe. Nothing starts until they do. status is none, onboarding, active, restricted or settling_only.
- invoices_createFromQuote
Create an invoice for a signed quote, for the total of the option and optional lines the customer picked.
- invoices_send
Send an invoice (or the next part of it) and get a single-use pay link. Earlier pay links stop working. Refused with conflict on a Doing Work deposit invoice whose booking ended (shop cancel or no-show). payments_ready false means the shop has no active payments account yet…
- invoices_markPaidOutside
Record that the customer paid an invoice outside Doing Work (check, cash, financing, insurance or other). Owner or office, or their agent. Closes the invoice, and the job too unless its checklists still block done (job_status says which; finish them and call jobs.complete). The…
- invoices_refund
Refund part or all of a payment (owner or office, or their agent). The refund shows up once the processor confirms it. An agent refund above the shop's agent refund cap (shops.setAgentMoney, $250 unless the owner changed it) does not run: it waits for the owner's OK and the…
- fees_schedule
Doing Work's fee schedule: one stepped rate on each shop's calendar month of card and bank payments, taken out of the payments. No plans, no monthly fee, no card on file. Every shop gets every feature and unlimited workers.
- fees_preview
What Doing Work would take on a payment of this size right now, the effective rate on it, the month's volume so far (all locations under the same owner), and how far the shop is from the next, cheaper band (owner or office). Leave out amount_minor for just the month picture and…
- fees_statement
A month's Doing Work fees for a shop: card and bank volume, fees by kind, the effective rate, each line, and how far the shop is from the next band this month (owner or office).
- records_keys
Public keys that verify signed job records.
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 2 h ago | Passed | 200 | 434 ms |
| 14 h ago | Passed | 200 | 539 ms |
| 24 h ago | Passed | 200 | 408 ms |
| 38 h ago | Passed | 200 | 584 ms |
| 2 days ago | Passed | 200 | 448 ms |
Show 10 older checks
| 3 days ago | Passed | 200 | 581 ms |
| 3 days ago | Passed | 200 | 417 ms |
| 4 days ago | Passed | 200 | 293 ms |
| 5 days ago | Passed | 200 | 491 ms |
| 5 days ago | Passed | 200 | 533 ms |
| 6 days ago | Passed | 401 | 535 ms |
| 6 days ago | Passed | 401 | 848 ms |
| 7 days ago | Passed | 401 | 503 ms |
| 7 days ago | Passed | 401 | 374 ms |
| 8 days ago | Passed | 401 | 506 ms |