/mcp must be authenticated. There are two ways in.
Sign in with OnboardMe (OAuth)
The server follows the MCP authorization spec (OAuth 2.1 with PKCE). Clients that support MCP OAuth handle these steps automatically:- The client calls
/mcpwithout a token and gets401with aWWW-Authenticateheader that points to/.well-known/oauth-protected-resource/mcp. - That metadata names the regional API as the authorization server. The client reads its metadata at
/.well-known/oauth-authorization-server. - The client registers itself (
/oauth/register) and sends you to the OnboardMe consent page. - You sign in, choose the practice, and choose Read-only or Read & write.
- The client exchanges the code at
/oauth/tokenand calls/mcpwithAuthorization: Bearer <token>. Refresh tokens keep the connection alive.
Scopes
Users with the Read Only role always get read access, even if they choose Read & write.
What the assistant can do
- A read grant only sees read-only tools. A tool that is hidden cannot be called by name.
- A write grant sees every tool except the webhook tools. Webhooks belong to API clients, not to individual users.
- Every action still checks the signed-in user’s OnboardMe role. If the role doesn’t allow an action, the tool returns
403.
Revoke access
Staff can see and revoke their own connections under Profile → Connected apps in OnboardMe. Administrators can review and revoke connections for the whole practice from Settings → Integrations. Revocation takes effect within about 30 seconds.Supported clients
Sign-in redirects are allowed for Claude (claude.ai and claude.com), ChatGPT, Cursor and local tools that usehttp://localhost or http://127.0.0.1 callbacks. If your client uses another redirect URL, contact [email protected].
API key
Send the practice API client’s credentials on every MCP request, exactly as you would for the Partner API:canWrite on the API client.
Rate limits
Rejected requests return
429 with a Retry-After header. The Partner API’s own limits also apply to the calls each tool makes.
Security notes
- Tokens and secrets are never logged and are only sent to the regional API.
- Tools that create users, bills, AML checks, identity verifications, renewals or webhooks are marked destructive, so clients can ask you before running them.
- Tax file numbers and other tax IDs, Director IDs and other ID numbers, dates of birth and bank account details are masked in every tool response (for example
*****123). They cannot be revealed through the MCP server. - The server tells the assistant to treat client-entered content (notes, eForm answers) as data, never as instructions.