Connect Claude or ChatGPT to your client portal over MCP in about 20 minutes: add the connector, sign in, approve, and get briefings and client updates with your access.

Edin Abazi7 min readGuides

You can connect Claude or ChatGPT to your client portal over MCP in about 20 minutes, with no code and no config files. Once it's connected, your AI can brief you on every client, open requests from a pasted email, and draft client updates from what's actually in Dora, instead of from threads you paste into a chat window.

The short version: add Dora as a connector with the URL https://dora.work/mcp, sign in with the link Dora emails you, approve the app on Dora's consent screen, then ask "What's waiting on my clients?" The connection acts as you, with exactly the access you have in Dora, and anything that changes a request or reaches a client is marked so your AI checks with you first.

Before you start

  • A Dora account with at least one client. Your first client is free, and without a client the AI has nothing to read.
  • A Claude or ChatGPT account. Web, desktop, and mobile all work. Claude Code works too, from the terminal.
  • Permission to add connectors. On Claude and ChatGPT team plans, an admin may need to allow custom connectors first.

A quick definition, since everyone says MCP and few explain it. Model Context Protocol is an open standard that lets an AI app use tools and data from another service. Dora runs an MCP server at https://dora.work/mcp, so any app that speaks MCP can work with your clients' requests, files, and libraries.

Step 1: Pick your AI app

Use the one your team already works in. All three connect to the same server and get the same tools.

App How you add Dora Best for
Claude (web, desktop, mobile) Connector directory, or a custom connector Briefings, requests, client replies
ChatGPT Custom MCP connector Briefings, requests, client replies
Claude Code One terminal command Doing the work and handing it back for review

Dora is hosted, so nothing runs on your machine. If a tutorial tells you to edit claude_desktop_config.json or run npx, it's describing a local MCP server. You don't need either for Dora.

Example: a three-person design studio picks Claude on the web. Everyone already has a login, nobody installs anything, and the founder tests it between client calls.

Step 2: Add Dora as a connector

In Claude:

  1. Open Settings, then Connectors.
  2. Find Dora in the connector directory, or choose Add custom connector.
  3. For a custom connector, name it Dora and enter https://dora.work/mcp.
  4. Save, then click Connect.

In ChatGPT:

  1. Open Settings, then the connectors area.
  2. Add a custom MCP connector named Dora with the URL https://dora.work/mcp.
  3. Save, then connect.

In Claude Code, run:

claude mcp add --transport http dora https://dora.work/mcp

Then run /mcp, pick Dora, and approve the connection in your browser.

Check it worked: in a new Claude chat, open the + menu under the message box and look for Dora under connectors. If your AI acts as if Dora doesn't exist, the connector is usually switched off for that chat.

The usual mistake: a typo in the URL. It's exactly https://dora.work/mcp, with nothing after it.

Step 3: Sign in and approve

When you click Connect, your AI app opens Dora in the browser.

  1. Enter your email. Dora sends you a sign-in link. There's no password to type into another app.
  2. Open the link and you land on Dora's consent screen.
  3. Check what's asking. The screen shows which app wants access and where approving sends you back to.
  4. Choose Allow. You return to your AI app, connected.

Sign in with your own Dora account, not a shared studio login. The connection acts as the person who approved it, so what the AI sees matches your role, and access ends with your account if you leave.

How permissions work

This is the part to understand before you rely on it day to day.

Sign-in is OAuth 2.1 with PKCE. Your AI app registers itself with Dora, you sign in with an email link, and you approve the app on Dora's consent screen. The app gets a token that acts as you. Dora never sees your Claude or ChatGPT password, and your AI app never sees a Dora password. The technical details are in Dora's MCP docs.

It has your access, no more. A team member's connection reaches the clients they can reach in Dora. A client's connection reaches only their own workspace and gets client tools: see their requests, ask for something new, answer questions, approve finished work or ask for changes. Team tools, internal notes, and other clients' work never show up for them.

Reads run right away. Changes ask first. Every Dora tool tells your AI whether it only reads, and whether a change can't simply be taken back: posting a comment, editing a request, handing over work, sending an estimate, or inviting someone. Your AI uses that to check with you before running them. How often you're asked is set in Claude's or ChatGPT's own permission settings.

You can see who did what. Everything your AI does in Dora is labeled with the app it came from, like "via Claude".

You can switch it off any time. In Dora, open Connect your AI from Settings or your account menu. It lists every app you've allowed and when each connected. Disconnecting revokes its access and its approval, so the app has to ask again before it can do anything.

For agents with no person to sign in, like scheduled jobs, use an API key from the same page instead. Keys can be limited to one client or to reading only.

Step 4: Run a briefing prompt

A briefing proves the connection works and gives you a status snapshot of every client in one go. Paste this into a new chat with Dora switched on:

Use Dora to look at my clients. For each client, tell me:
1. How many requests are open
2. What is waiting on the client (missing info or files)
3. What is waiting for approval, and for how many days
4. Anything overdue

Keep it to one short paragraph per client. If a client has
nothing open, say so in one line.

Your AI starts from Dora's briefing, then reads the team inbox across every client, so the answer comes from live data with a link to each request.

Check it once. Pick one client, open their portal in Dora, and compare the open requests and the age of one approval with what the AI said. If something's off, rerun the prompt naming that client and a timeframe.

Example: a studio with four clients runs the prompt on a Monday. One client's logo revision has been waiting for approval for six days, and nobody had noticed. A nudge goes out before lunch.

The usual mistake: vague prompts like "what's going on?" Name the client, the timeframe ("since last Friday"), and the shape of answer you want.

Step 5: Draft a client update

This is where the connection saves real time. Swap in a client's name:

Use Dora to look at [CLIENT NAME]'s current requests.
Draft a short update email from me to them:
- Plain language, no jargon
- Friendly and direct, in our studio's tone
- What's done, what's in review, what's blocked
- The next step on our side
- Exactly what we need from them, and by when
Keep it under 150 words.

Read it, adjust the tone, and send it yourself. If you'd rather it go in the request thread, ask your AI to post it as a comment. Because a comment reaches the client, your AI checks with you before posting, or you can ask for an internal note only your team sees.

A few more things worth asking once you're connected:

  • Paste a client's email and say "Open a request for this." Your AI writes a clear title and details, picks the request type from your setup, and sets the due date.
  • "Push the Acme hero to next Friday and put it on Sam." Status, priority, due date, and assignee are team-only changes.
  • "What's Pinewood's current logo, and the rules for using it?" Your AI answers from the client's library and brand profile, with links.

The usual mistake: asking for an update across all clients in one message. You get a generic blob. Do one client per prompt.

Step 6: Save your prompts and set ground rules

A setup that only works for one person isn't a setup yet.

  1. Store both prompts in a shared doc, or a shared project in your AI app.
  2. Name an owner who keeps the wording current.
  3. Agree on a few rules, for example:
    • Humans read every client message before it goes out.
    • Decisions about the work stay with the team. The AI suggests, people decide.
    • Leave your AI's permission prompts on for changes until you trust the pattern.

Going further. Email intake turns client emails into briefed requests, which gives your AI better data to read. For hands-on work like code and site changes, Claude Code with Dora runs /dora:work_on_request on a request: it reads the brief, does the work, and hands it back with a note and a preview link for the client to approve. For the wider picture, read MCP for agencies and what an agentic client portal is.

Troubleshooting

Problem What to do
Dora doesn't appear in the chat Switch the connector on for that chat, or restart the app.
The sign-in link doesn't arrive Check spam, then click Connect again for a fresh link.
Your AI sees no clients You may have signed in with a different email, or no client exists yet. Disconnect, then reconnect with the right account.
Your workspace blocks custom connectors Ask your Claude or ChatGPT admin to allow them.
You were asked to edit a JSON file That's the local-server route. Remove it and add Dora as a connector (Step 2).
You want to start over Disconnect the app in Dora under Connect your AI, then connect again.

Still stuck? Dora support can help with portal and AI-app setup.

Checklist

  1. A Dora account with at least one client, and a Claude or ChatGPT account.
  2. Add Dora as a connector with https://dora.work/mcp, or run claude mcp add in Claude Code.
  3. Sign in with the email link and choose Allow on Dora's consent screen.
  4. Run the briefing prompt and check one client against the portal.
  5. Draft one client update, edit it, and send it yourself.
  6. Save both prompts somewhere shared and agree the ground rules.

Ready to try it? Start free with Dora. Your first client is free, forever, and MCP is on every plan.

Sources

  1. Stainless
  2. MCP documentation
  3. practitioner walkthrough on DEV Community
  4. desktop extensions
  5. Hudu's setup guide
  6. TrueFoundry's guide
  7. community report

Written by Edin Abazi

Creator of Dora, co-founder at Raze.

githublinkedintwitterwebsite


Add your website and your portal is set up in about a minute.

  • Free for your first client
  • No card needed
  • Set up in a minute
  • Works with Claude and ChatGPT