Docs/Voice MCP Connector
INTEGRATE

Voice MCP Connector

Connect Midfleet to a Voice custom MCP connector with OAuth 2.1. Production server URL, Google/GitHub/email sign-in, and token scope.

Add the connector

Voice custom connectors accept a name and a server URL only. Midfleet exposes Streamable HTTP MCP and OAuth 2.1 with PKCE, so the operator signs in with Google, GitHub, or email. There is no API-key field in the connector UI.

  • 1. Open Voice connectors and add a custom connector.
  • 2. Name it Midfleet.
  • 3. Paste the production server URL: https://app.midfleet.ai/mcp
  • 4. Save. The client discovers OAuth metadata and opens the Midfleet authorize page.
  • 5. Sign in with Google, GitHub, or email and password. Accounts with an enabled authenticator also complete MFA.
  • 6. The client stores a Bearer token and can call Midfleet tools for the selected workspace.
EnvironmentServer URL
Productionhttps://app.midfleet.ai/mcp

What the authorize page does

The client receives a participant Bearer JWT scoped to the workspace you select, or to your default workspace. It is not a workspace API key.

  • Google and GitHub use the same operator identity as the Midfleet app. After social login, Midfleet sets the session cookie and completes the PKCE authorization code.
  • Email and password use existing Midfleet operator credentials. MFA is required when that account has an enabled authenticator.
  • A live midfleet_session cookie can complete resume without a new login or MFA prompt.

Protocol details

  • Protected-resource and authorization-server metadata under /.well-known/oauth-*.
  • Dynamic client registration, authorization code plus PKCE (S256), and a token endpoint.
  • Registered clients and one-time codes persist in Valkey so Hub restarts and multi-instance routing do not drop an in-flight connection.

Common failures

SymptomLikely causeWhat to try
Authorize page is email-onlyHub image predates social brandingConfirm production Hub is on the social and branding image, then reconnect.
Google or GitHub returns JSON 404Stale authorize HTML with a doubled auth pathHard-refresh the authorize window and retry.
Manual OAuth credential formClient fell back from dynamic registrationRe-add the connector rather than filling endpoints by hand.
invalid_grant after loginCode expired, already consumed, or Valkey unavailableRetry the connect; check Hub cache health.