For home service shops on Doing Work: see today's jobs and draft quotes and invoices from chat. Drafts wait for the owner's review.
Codex is OpenAI's coding agent for the terminal. It reads MCP servers from its config and signs in to remote ones with OAuth.
This guide connects DoingWork MCP to Codex through MewCP, so Codex can use DoingWork MCP's 8 tools, like quote_request_update, quote_request_add_photo and quote_request_confirm_summary, without your DoingWork MCP credentials ever reaching the app.
DoingWork MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
Work with pages, databases, blocks and collaborative knowledge stored in Notion. Create, update and organize content while building workflows around structured information and documentation.
Create, track, and manage Google Tasks and task lists directly from your AI workflows. This stateless, multi-tenant MCP server exposes the Google Tasks API for listing, creating, updating, completing, and deleting both tasks and task lists. Mutating tools such as update_task and update_tasklist return both the before and after state of the resource, making it easy to build assistants and automations that manage to-do lists and reminders on a users behalf
The Stripe MCP Server lets AI agents manage customers, products, prices, subscriptions, invoices, payment links, refunds, and disputes, retrieve payment data, and search Stripe’s API documentation.
Airwallex Docs MCP gives AI agents read-only access to Airwallex documentation and API references, enabling agents to search and retrieve accurate integration guidance without authentication.
Other clients
DoingWork MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact DoingWork MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
Run this and approve access in the browser window.
Start a new chat and ask: "List the tools you can use from MewCP." You should see your connected apps.
Use this when a homeowner describes a home project they want quoted or priced by a local pro, for example "my water heater is leaking", "get me quotes to fix my fence", "I need a roofer", or "how much to add an outlet in my garage?". Creates or updates the job: trade, short title, description, timing, access notes, and address. Leave out quoteRequestId to start a new request. Changes only the fields you send. Ask only what a shop needs to price the job. Does not contact any shop. Do not use this for do-it-yourself advice or for a shop managing its own jobs.
Use this when the homeowner shares a photo of the problem or the work area, like a leak, damage, or the spot for a new fixture. Adds one photo to the request (JPEG, PNG, WebP, or HEIC as base64). Photos help shops price the job. Does not contact any shop.
Use this when the job details are complete and the homeowner should check them before any shop sees them. The first call returns the summary, address, likely timing, and a confirmToken and changes nothing. If something a shop needs is missing (for example the ZIP), it returns status needs_info with the missing fields and no confirmToken: ask the homeowner, save it with quote_request_update, and call this again. Call again with confirmToken only after the homeowner says it is right. Does not contact any shop.
Use this when the homeowner has confirmed the job and wants to see which local shops could quote it, or asks "who would you send this to?". Returns a short list with a plain-language reason for each shop. Shops are ranked on license, reviews, service area, and fit for the job; Doing Work membership is never a ranking input. Does not email or call any shop.
Use this when the homeowner is ready to send the job to the shops on their list and get quotes back. The first call returns a preview of the message and the shop list plus a confirmToken, and sends nothing. Call again with the same details and confirmToken only after the homeowner approves. Shops see only the homeowner's first name, town and job details. Shops only get the homeowner's phone and email if the homeowner picks them, and Doing Work doesn't sell their contact info.
Use this when the homeowner asks about the jobs they already asked for quotes on, like "what requests do I have open?". Lists their quote requests, newest first, with each request id and status (draft, ready, verified, sent, quoted or closed). Read only. Does not contact any shop.
Use this when the homeowner asks if any quotes came back, like "did anyone quote my gutter job?" or "what did the shops say?". Reads the request, its status (sent while waiting on quotes, quoted once one is in) and any quotes shops sent, in the order they arrived. Membership does not change the order. Read only. Does not contact any shop.
Use this when the homeowner wants to hire one of the shops that sent a quote. The first call returns a confirmToken and does not pick. Call again with confirmToken after the homeowner decides. The chosen shop then gets the homeowner's phone and email, the other shops get a short note, and the request closes.