Server URL
/mcp. The server uses the Streamable HTTP transport and accepts POST requests only.
Before you start: you need to be an owner or admin of the Audalis workspace you want to connect. If you belong to more than one workspace, switch to the right one in Audalis first. The connection goes to the workspace you’re signed in to.
Add it to your assistant
- Claude
- ChatGPT
- Claude Code
- Cursor and others
1
Open connector settings
In Claude, go to Settings > Connectors and click Add custom connector.
2
Add the server
Name it
Audalis and paste https://api.audalis.io/mcp as the URL. Click Add.3
Connect and allow access
Click Connect. Sign in to Audalis, confirm the workspace and app name, and click Allow.
What you’ll see when you sign in
The Audalis consent screen shows:- The app’s name. Apps name themselves when they register, so Audalis hasn’t verified this name.
- The workspace the app will read.
- What it can do: read calls, bookings, contacts, and tasks. It can’t send messages, place calls, or change anything.
- Where you’ll be sent back to. Only click Allow if you started the connection from that app.
Disconnect
In Audalis, go to Settings > Connected apps and click Disconnect next to the app. The app loses access on its very next request. Connected apps lists only the apps you connected. Another admin’s connections appear on their account, so they disconnect their own. You can also remove Audalis in your assistant’s connector settings. That stops the assistant from using it, but the connection can stay listed in Audalis. Disconnect it there too, to be sure access is revoked.Troubleshooting
Connected apps are not enabled for this workspace
Connected apps are not enabled for this workspace
Connected apps are turned on per workspace. Email support@audalis.co and we’ll enable them.
Only workspace owners and admins can use connected apps
Only workspace owners and admins can use connected apps
Your role in this workspace is too low to connect apps, or it was lowered after you connected. Ask an owner or admin to connect, or to change your role.
The workspace subscription is awaiting payment
The workspace subscription is awaiting payment
Finish setting up billing in Settings > Plan & Billing, then try again.
The wrong workspace is connected
The wrong workspace is connected
Disconnect the app in Settings > Connected apps. In Audalis, switch to the workspace you want, then connect again from your assistant.
The client never opens a sign-in window
The client never opens a sign-in window
Check that your client supports OAuth for remote MCP servers, then look for an Authenticate or Connect action in its MCP settings. Clients that only support local (stdio) servers can’t connect to a hosted server.
It worked before, but now it asks me to sign in again
It worked before, but now it asks me to sign in again
Connections that go unused for 30 days expire. Connections also stop if you disconnect the app, or if your role drops below admin. Connect again from your assistant.
Rate limit exceeded
Rate limit exceeded
Each connection can make 60 requests a minute, and each workspace 240 a minute across all its connected apps. Wait a minute and try again.
The client gets a 405 error
The client gets a 405 error
The server accepts only
POST /mcp. It’s stateless and has no SSE stream, so GET and DELETE return 405. Configure your client for Streamable HTTP, not the older SSE transport.For developers building an MCP client
Audalis uses OAuth 2.1 authorization code with PKCE (S256 only) and supports dynamic client registration (RFC 7591), so you don’t need to ask us for a client ID.1
Discover
Send an unauthenticated request to
https://api.audalis.io/mcp. The 401 response includes a WWW-Authenticate header that points to the protected resource metadata (RFC 9728). That document names the authorization server.2
Register
POST to the registration_endpoint from the authorization server metadata. Public clients can register with token_endpoint_auth_method: "none". Save the returned client_id and reuse it.3
Authorize
Open the
authorization_endpoint with response_type=code, your registered redirect_uri, state, an S256 code_challenge, the scopes audalis.read offline_access, and resource=https://api.audalis.io/mcp.4
Exchange and refresh
Exchange the code at the
token_endpoint with the original code_verifier. Access tokens last 1 hour. Refresh tokens last 30 days and rotate on every use: save the new one every time. Reusing an old refresh token revokes the whole grant, and the user has to authorize again.5
Call the server
Send
Authorization: Bearer <access_token> on every POST /mcp. Responses are JSON, not SSE.Endpoints
Read these from the discovery metadata rather than hard-coding them. The metadata is the source of truth if anything changes.
Errors
Auth failures return401 or 403 with a WWW-Authenticate header and a JSON-RPC error body: