Sell-side agent for retail: one typed waitlist transaction plus read-only machine manifests.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns the authoritative JSON schema, required fields and privacy terms for the waitlist transaction (exactly what GET /api/signup returns). Read this before joining.
This tool takes no arguments.
Returns the authoritative JSON schema, required fields and privacy terms for the waitlist transaction (exactly what GET /api/signup returns). Read this before joining.
No arguments.
{
"type": "object",
"properties": {}
}One typed transaction: joins the named person to the Clair pilot waitlist. consent: true is a recorded claim - assert it only with the person's consent. One submission per person; repeats return already: true. Returns an edit_token binding follow-up details. Identify yourself with agent_name, agent_operator, on_behalf_of.
| Argument | Type | Description |
|---|---|---|
| email* | string | Email of the person joining. |
| consent* | boolean | Must be true. Recorded claim of the named person's consent. |
| agent_name | string | Optional self-identification: your name as an agent. |
| on_behalf_of | string | Optional self-identification: who sent you. |
| agent_operator | string | Optional self-identification: who operates you. |
{
"type": "object",
"required": [
"email",
"consent"
],
"properties": {
"email": {
"type": "string",
"description": "Email of the person joining."
},
"consent": {
"type": "boolean",
"description": "Must be true. Recorded claim of the named person's consent."
},
"agent_name": {
"type": "string",
"description": "Optional self-identification: your name as an agent."
},
"on_behalf_of": {
"type": "string",
"description": "Optional self-identification: who sent you."
},
"agent_operator": {
"type": "string",
"description": "Optional self-identification: who operates you."
}
}
}Merges follow-up details into an existing waitlist record. Requires the edit_token returned by join_waitlist - email alone never authorizes a merge. A repeat with nothing new returns already: true. All detail fields optional: name, company, role, context (one line: what they sell), why (the problem they are solving), question (anything they want to ask).
| Argument | Type | Description |
|---|---|---|
| why | string | What brought them here - the problem to solve. |
| name | string | |
| role | string | |
| email* | string | The email used at join time. |
| company | string | |
| consent* | boolean | Must be true. |
| context | string | One line: what they sell. |
| question | string | Anything they want to ask Clair. |
| edit_token* | string | Token returned by join_waitlist. |
{
"type": "object",
"required": [
"email",
"consent",
"edit_token"
],
"properties": {
"why": {
"type": "string",
"description": "What brought them here - the problem to solve."
},
"name": {
"type": "string"
},
"role": {
"type": "string"
},
"email": {
"type": "string",
"description": "The email used at join time."
},
"company": {
"type": "string"
},
"consent": {
"type": "boolean",
"description": "Must be true."
},
"context": {
"type": "string",
"description": "One line: what they sell."
},
"question": {
"type": "string",
"description": "Anything they want to ask Clair."
},
"edit_token": {
"type": "string",
"description": "Token returned by join_waitlist."
}
}
}