Search Angelus colours
search_angelus_colorsReadSearch the curated Angelus Standard Leather Paint list by name, item number, or tone family. Public paint reference data — no client records involved.
Parameters
| Name | Type | Required | Notes |
|---|
| query | string | No | Free text, e.g. "cobalt" or "#025". |
| limit | number | No | Max results (default 20). |
Example request
{
"name": "search_angelus_colors",
"arguments": { "query": "cobalt", "limit": 3 }
}
Example response
{
"colors": [
{ "name": "Cobalt Blue", "code": "025", "hex": "#1C4FA1", "family": "Blues" }
]
}
Create quote request
create_quote_requestWriteSubmit a custom build request as the signed-in client, optionally attaching the selected model and per-layer colourway from the Design Studio.
Parameters
| Name | Type | Required | Notes |
|---|
| name | string | Yes | Client name on the request. |
| email | string | Yes | Contact email. |
| service | string | Yes | 1-of-1, restoration, corporate, etc. |
| vision | string | Yes | Description of the concept. |
| base_shoe / budget | string | No | Optional build context. |
| model / colorway | string / object | No | Studio model id and layer colours. |
Example request
{
"name": "create_quote_request",
"arguments": {
"name": "Jordan P.",
"email": "jordan@example.com",
"service": "1-of-1 Custom",
"vision": "Emerald and cream Retro 11 with gold speckle.",
"model": "retro11",
"colorway": { "upper": { "hex": "#0F5132", "name": "Kelly Green", "code": "032" } }
}
}
Example response
{
"quote": {
"id": "3f1c…9ab2",
"status": "new",
"created_at": "2026-08-02T21:10:00.000Z"
}
}
List my quotes
list_my_quotesReadList the signed-in client's saved quote requests, newest first.
Parameters
| Name | Type | Required | Notes |
|---|
| limit | number | No | Max quotes (default 20, cap 100). |
Example request
{
"name": "list_my_quotes",
"arguments": { "limit": 2 }
}
Example response
{
"quotes": [
{ "id": "3f1c…9ab2", "model_name": "Retro 11", "status": "reviewing", "created_at": "2026-08-02T21:10:00.000Z" },
{ "id": "8ad4…11c7", "model_name": "Court High", "status": "completed", "created_at": "2026-07-19T14:02:00.000Z" }
]
}
Get quote
get_quoteReadFetch one saved quote by id, including the full per-layer Angelus colourway spec.
Parameters
| Name | Type | Required | Notes |
|---|
| id | string (uuid) | Yes | Quote id. |
Example request
{
"name": "get_quote",
"arguments": { "id": "3f1c…9ab2" }
}
Example response
{
"quote": {
"id": "3f1c…9ab2",
"service": "1-of-1 Custom",
"model_name": "Retro 11",
"status": "reviewing",
"colorway": { "upper": { "hex": "#0F5132", "name": "Kelly Green", "code": "032" } }
}
}
Update quote status or notes
update_quote_statusWriteMove a quote through the pipeline and/or record internal notes. Statuses: new, reviewing, quoted, approved, in_progress, completed, declined.
Parameters
| Name | Type | Required | Notes |
|---|
| id | string (uuid) | Yes | Quote id. |
| status | enum | No | One of the seven pipeline statuses. |
| internal_notes | string | No | Notes to store on the quote. |
| append | boolean | No | Append a dated note instead of replacing. |
Example request
{
"name": "update_quote_status",
"arguments": {
"id": "3f1c…9ab2",
"status": "in_progress",
"internal_notes": "Deglazed and primed, midsole masked.",
"append": true
}
}
Example response
{
"quote": {
"id": "3f1c…9ab2",
"status": "in_progress",
"internal_notes": "Client approved mockup.\n[2026-08-02] Deglazed and primed, midsole masked."
}
}
Generate quote PDF
generate_quote_pdfReadRender a printable A4 production spec sheet for a saved quote — client details, vision, per-layer paint table with swatches, and internal notes. Returned as a base64 PDF resource.
Parameters
| Name | Type | Required | Notes |
|---|
| id | string (uuid) | Yes | Quote id. |
Example request
{
"name": "generate_quote_pdf",
"arguments": { "id": "3f1c…9ab2" }
}
Example response
{
"content": [
{ "type": "text", "text": "Generated boogie-lab-quote-3f1c9ab2.pdf for quote 3f1c…9ab2 (7 paint layers)." },
{
"type": "resource",
"resource": {
"uri": "quote://3f1c…9ab2/spec.pdf",
"name": "boogie-lab-quote-3f1c9ab2.pdf",
"mimeType": "application/pdf",
"blob": "JVBERi0xLjcK…"
}
}
]
}
Errors are returned as MCP tool errors with a readable message (for example “Not authenticated” or “No quote found with id … for this account.”).