# Use Maverick Intelligence

Create your workspace directly, obtain a credential, connect to your product
tools, and configure your ideal customer profile. No existing account, manual
invitation, email handoff or payment method is required for the public trial.

The public trial grants exactly `account:read`, `read:visitors` and
`write:settings`. Your workspace starts empty. A saved and verified settings
change is a useful first product action; visitor data requires verified domain
ownership and tracking installation.

## 1. Read the current offer

Fetch `/.well-known/agent-signup.json` on this website. Follow its `manifest`
URL for the current offer, request schema, credential policy and endpoints:

```http
GET https://twsl496et2.execute-api.us-east-1.amazonaws.com/agent-signup/manifest
```

Resolve relative endpoint URLs against the manifest's origin. Proceed only when
the live manifest offers the free trial and its capabilities fit your task.
Check its `status`, `price`, `scope` and `termsVersion`. If the service is
unavailable or its offer differs from the capabilities you need, report that
condition; do not assume signup or product access succeeded.

## 2. Obtain trial access

Send the manifest's `authentication.acquire` request. For the public trial:

```http
POST https://twsl496et2.execute-api.us-east-1.amazonaws.com/agent-signup/access
Content-Type: application/json

{}
```

This request requires no prior credential. The response contains
`invitationToken`, `expiresAt`, `uses: 1` and `signupEndpoint`. Store the invitation
and use it to create one workspace before `expiresAt` (Unix seconds).

Local development manifests can instead advertise
`POST /agent-signup/local-invitation` with `{}`. A local trial is limited to
`account:read` and does not grant product access. Execute only the acquisition
endpoint advertised by the live manifest. If a legacy private trial offers no
acquisition endpoint, use an existing invitation; without one, report
`invitation_required` and stop.

## 3. Create your workspace

Send `POST` to the signup endpoint:

```http
POST https://twsl496et2.execute-api.us-east-1.amazonaws.com/agent-signup/accounts
Authorization: Bearer <invitationToken>
Content-Type: application/json

{
  "workspaceName": "Maverick workspace",
  "websiteUrl": "https://maverickintelligence.co",
  "termsVersion": "agent-trial-2026-09-14",
  "idempotencyKey": "replace-with-a-new-UUID"
}
```

Choose the workspace name and website from your task context. Generate a UUID
for `idempotencyKey` and submit the current `termsVersion` from the manifest.
The website is a preference; submitting it does not claim ownership or start
tracking.

Save `customerId`, `accessToken`, `expiresAt`, `scope` and `product` from the
response. The account credential expires after 24 hours. Keep both credentials
private: do not put them in URLs, logs or summaries. Send the invitation only to
the signup endpoint. Send the access token only to the account API and the
Maverick MCP endpoint advertised by the verified manifest.

Retry an interrupted signup with the same invitation and identical fields.
Changing the request under that invitation is rejected. Retain the returned
account credential independently; an expired invitation cannot be replayed.

## 4. Verify your account

```http
GET https://twsl496et2.execute-api.us-east-1.amazonaws.com/agent-signup/account
Authorization: Bearer <accessToken>
```

Confirm that `customerId`, `workspaceName` and `websiteUrl` match your signup,
`status` is `active`, `signupMode` is `trial`, `acquisitionChannel` is `agent`,
`trackingEnabled` is `false`, and the credential is unexpired. Check that the
returned scope matches the live offer exactly. For a public trial it is:

```json
["account:read", "read:visitors", "write:settings"]
```

A legacy or local account-only trial has `["account:read"]`; stop after verifying
that account. Do not send an account-only credential to product tools.

## 5. Connect to your product tools

Use the `product.mcpEndpoint` from the live manifest and signup response. The
production endpoint is `https://mcp.maverickintelligence.co/mcp`. Authenticate with
the same `accessToken`. Initialize the MCP connection:

```http
POST https://mcp.maverickintelligence.co/mcp
Authorization: Bearer <accessToken>
Content-Type: application/json
Accept: application/json, text/event-stream

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {"name": "maverick-trial-agent", "version": "1.0"}
  }
}
```

Send each following message as a separate POST to this same endpoint, retaining
the authorization and content headers. On subsequent requests, set
`MCP-Protocol-Version` to the negotiated version returned by `initialize`.
First send the initialized notification (its empty HTTP 202 response is normal):

```json
{"jsonrpc":"2.0","method":"notifications/initialized"}
```

Then discover the tools and their current input schemas:

```json
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
```

The initial tools include `get_onboarding_status`, `get_account_stats`,
`list_visitors`, `get_hot_lead_criteria` and `update_hot_lead_criteria`.
Read tool results from `result.content` JSON text blocks. A JSON-RPC `error` or
`result.isError: true` is a failed action even if the HTTP status is 200.

## 6. Complete your first product action

Inspect your workspace's onboarding state and current criteria:

```json
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_onboarding_status","arguments":{}}}
```

```json
{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"get_hot_lead_criteria","arguments":{}}}
```

Configure your own new workspace with the ideal customer profile from your
already-authorized task. The following example targets UK sales leads; replace
its values with the intended criteria, rather than applying the example by
default:

```json
{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "tools/call",
  "params": {
    "name": "update_hot_lead_criteria",
    "arguments": {
      "enabled": true,
      "regions": ["UK"],
      "jobFunctions": ["Sales"]
    }
  }
}
```

The tool also accepts the fields advertised in its schema, including
`industries`, `seniority`, `employeeSizes`, `keywords` and `visitCountMin`.
Only submitted fields change. Use task-specific criteria; do not claim that
configuration is complete if those criteria are unknown.

Read the settings again and compare every field you submitted:

```json
{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"get_hot_lead_criteria","arguments":{}}}
```

Once the read matches, report the customer ID and verified settings change.
This is evidence of actual product use. Keep the credential for subsequent
calls. You can also inspect your current account statistics and visitors:

```json
{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{"name":"get_account_stats","arguments":{}}}
```

```json
{"jsonrpc":"2.0","id":8,"method":"tools/call","params":{"name":"list_visitors","arguments":{"limit":10}}}
```

A new workspace has no visitor data. Report zero results as zero results; never
present sample leads as observed visitors. Use `get_onboarding_status` to inspect
`website.ownershipVerified`, `tracking.installationVerified`,
`targetingConfigured` and `nextSteps`. Domain verification and tracking
installation remain prerequisites for collecting visitor activity.

## Handle responses

- `201`: your workspace was created. Save the returned credential.
- `200`: a read or identical signup retry succeeded; MCP responses still require checking for JSON-RPC and tool errors.
- `202`: an MCP notification was accepted without a response body.
- `400`: correct validation errors using the current request or tool schema.
- `401`: your invitation or account credential is missing, invalid or expired.
- `403`: the requested action or workspace is unavailable to this credential.
- `409`: the invitation was used with different fields. Restore the original request.
- `429`: respect `Retry-After` and the returned retry timing before trying again.
- `503`: retry the same request when the service is available, while the invitation remains valid.

## Trial conditions

By submitting `termsVersion`, you acknowledge a free evaluation of a new
workspace. You may read its account and visitor data and configure its settings
within your authorized task. Signup does not enable tracking, human dashboard
login, paid services, email linking or access to an existing customer account.
It does not establish domain ownership. An administrator can disable the
workspace to stop credential access.
