configure_connect
Mints the Configure link that fixes access for the current user — sign-in, app connect, or permission grant. This is the tool for two situations: a Configure tool result says authorization_required (the user is not signed in), or the user asks to sign in or connect an app. The user's data exists behind sign-in, so "I have nothing on you" would be inaccurate in that state; what serves the user is knowing sign-in is the blocker and having the returned link, on its own line where it is easy to click. Retrying the failed call returns the same result until the user has signed in. Links exist only as this tool mints them — a hand-built link fails — and when a tool result already carries a link, that link is the one the user needs (minting another creates a second, competing session). Not the first call of a conversation (that is configure_profile_read), and not the fix for error -32009 (that is configure_profile_commit). For a signed-in user: app (gmail, calendar, drive, notion, sheets) connects or reconnects that app — returns status connect_app, a link, and whether it is already connected — and capability (like gmail:send) covers a single missing permission (status permission_needed). Bringing memories in from another assistant is NOT a connect action: this tool does not do it, and a bare "connect Configure" from a signed-in user needs no argument at all — omit app unless the user names a specific app to connect. Configure derives the requester from authenticated agent metadata or MCP transport metadata; the client field is a legacy fallback hint for an unauthenticated headless client only.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "configure_connect"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Optional app to connect or reconnect for an already signed-in user. This is for third-party apps only; it does not bring memories in from other assistants (that is not a connect action — see configure_profile_import). | |
| client | No | Legacy fallback handle for an unauthenticated headless client whose transport supplies no identity. Never overrides an authenticated agent. | |
| purpose | No | Optional one-line reason shown to the user on the permission page, such as "so I can send the follow-ups you approve". Used with capability. | |
| capability | No | Optional specific permission to request when the user has an app connected but not this capability (the profile read's integrations map shows which capabilities each connector has). For example, when Gmail is connected read-only and you need to send, pass capability "gmail:send". Returns status permission_needed with a link that asks the user for exactly that permission and why. Prefer this over app when only a capability (like send) is missing. | |
| client_name | No | Legacy display hint for an unauthenticated headless client. Never overrides registered agent metadata. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| status | Yes | connect_app, authorization_required, session_probe_required, or permission_needed. | |
| connected | No | ||
| capability | No | ||
| connect_url | No | Server-minted link where the user acts. Minted per session: only this exact URL works; a retyped or shortened one fails. | |
| instructions | No |