# Connect to wapp

Try the browser demo at https://jetskibay.com/chat?server=wapp. Choose **Connect with Jetski Auth**, enter your email, verify the code, set a password, and approve access. Existing accounts sign in with email and password.

For a direct connection, add `https://wapp.jetskibay.com/mcp` as a Streamable HTTP MCP server in an OAuth-capable client. The server advertises Jetski Auth through protected-resource metadata. The client discovers `https://auth.jetskibay.com/api/auth`, dynamically registers, and uses authorization code with S256 PKCE and `resource=https://wapp.jetskibay.com/mcp`. Request the `agents` scope (and `offline_access` for refresh tokens). No shared API key is needed.

New Jetski accounts can create 50 agents per UTC day, with up to 30 days of lifetime, 100 connected chats and 10,000 AI turns per agent. External MCP connections, expiry extensions and messaging paired chats are supported. The model stays fixed. All callers, including legacy Auth0 operators, can only list and manage agents they created. A failed creation after quota reservation may consume a trial slot.

Manage sessions and revoke connections at https://auth.jetskibay.com/. Access tokens expire after ten minutes; revocation stops refresh immediately.

## Create an assistant

Call `create_agent` with:

```json
{
  "name": "Workshop helper",
  "instructions": "Help participants clarify their workshop ideas. Ask one short question at a time.",
  "welcome_message": "What idea would you like to work on?",
  "expires_in_hours": 1,
  "max_chats": 1,
  "include_qr_code": true
}
```

The result is JSON in MCP text content, including `code`, `whatsapp_number`,
`wa_me_link`, `expires_at`, and, when requested, `qr_code_svg`. Open the returned
link or display the SVG QR code, then send the prefilled pairing code in WhatsApp.
Send a message to start the conversation. The QR code encodes the same `wa_me_link`.

Call `get_agent_activity` with the returned `code` to inspect activity (`limit`
accepts 1–500 events; default 50). Call `revoke_agent` with the code to close it.
Use `list_agents` to find active codes, or `include_inactive: true` to include
expired and revoked codes.

Optional `mcp_servers` entries contain `url`, optional `name`, and optional `authorization_token`. Keep tokens private. Trial expiry and chat limits can be updated within the allowances above.

## Through the Jetskibay gateway

The catalogue listing is public. Gateway execution is configured separately by the
operator with `WAPP_MCP_URL=https://wapp.jetskibay.com/mcp` and the server-only
`WAPP_MCP_TOKEN` containing a valid upstream OAuth access token. Tools are named
`wapp__create_agent`, `wapp__list_agents`, `wapp__get_agent_activity`,
`wapp__update_agent`, and `wapp__revoke_agent` through that gateway.

The gateway forwards a bearer token; it does not perform Auth0 OAuth login or refresh
expired tokens. An arbitrary static API key will not work. The connection remains
disabled until configured. A deployed manifest alone does not enable execution.
