Serveur MCP

Tonebook Palette

app.tonebook/palette
Design et création Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Creates and compares digital color palettes and generates portable palette boards for outfits, events, and packing.

compare_colors
Compare supplied digital colors
Compare up to 12 supplied six-digit hex colors or standard color names with a portable selected palette. Unknown or ambiguous names request hex values. Return the nearest digital swatch with a fixed RGB rule and concise rationale. This does not assess skin, photos, fabrics or garments you own.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['palette_ref', 'colors'], 'properties': {'colors': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#[0-9a-f]{6}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'pattern': '^[A-Za-z ]+$', 'maxLength': 48, 'minLength': 1}}, 'additionalProperties': False}]}, 'maxItems': 12, 'minItems': 1}, 'palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema_version', 'kind', 'result'], 'properties': {'kind': {'type': 'string', 'const': 'compare_colors'}, 'result': {'anyOf': [{'type': 'object', 'required': ['state', 'color_positions', 'clarification'], 'properties': {'state': {'type': 'string', 'const': 'clarification_needed'}, 'clarification': {'type': 'string', 'maxLength': 600}, 'color_positions': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'palette', 'method', 'comparisons', 'caveat'], 'properties': {'state': {'type': 'string', 'const': 'compared'}, 'caveat': {'type': 'string'}, 'method': {'type': 'string'}, 'palette': {'type': 'object', 'required': ['version', 'season_id', 'source', 'confirmed', 'quiz_version', 'suggested_season_id', 'revision', 'palette_ref', 'season', 'colors', 'guidance', 'caveat', 'storage'], 'properties': {'caveat': {'type': 'string', 'maxLength': 600}, 'colors': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#[0-9A-F]{6}$'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 12}, 'season': {'type': 'string'}, 'source': {'enum': ['quiz_suggestion', 'user_selection'], 'type': 'string'}, 'storage': {'type': 'string', 'maxLength': 600}, 'version': {'type': 'string', 'const': 'tonebook.palette.v1'}, 'guidance': {'type': 'string', 'maxLength': 600}, 'revision': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'confirmed': {'type': 'boolean'}, 'season_id': {'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, 'palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}, 'quiz_version': {'anyOf': [{'type': 'string', 'const': 'tonebook.quiz.2026-09-23'}, {'type': 'null'}]}, 'suggested_season_id': {'anyOf': [{'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'comparisons': {'type': 'array', 'items': {'type': 'object', 'required': ['input_hex', 'swatch', 'hex', 'relation', 'rationale'], 'properties': {'hex': {'type': 'string'}, 'swatch': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'relation': {'enum': ['exact_palette_color', 'nearest_digital_swatch'], 'type': 'string'}, 'input_hex': {'type': 'string'}, 'rationale': {'type': 'string', 'maxLength': 600}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 1}}, 'additionalProperties': False}]}, 'schema_version': {'type': 'string', 'const': 'tonebook.connector.v1'}}, 'additionalProperties': False}
create_palette_board
Create a portable palette board
Generate a labeled downloadable SVG board and matching 12-color PNG from a user-confirmed palette, a chosen outfit/event/packing purpose and optional supplied garment colors. Requires the user’s chosen palette; unknown colors request clarification. Computation only; no upload, charge, account record or closet inference.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['palette_ref', 'purpose'], 'properties': {'colors': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#[0-9a-f]{6}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'pattern': '^[A-Za-z ]+$', 'maxLength': 48, 'minLength': 1}}, 'additionalProperties': False}]}, 'maxItems': 12}, 'purpose': {'enum': ['outfit', 'event', 'packing'], 'type': 'string'}, 'occasion': {'enum': ['casual', 'work', 'evening', 'celebration', 'formal'], 'type': 'string'}, 'palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema_version', 'kind', 'result'], 'properties': {'kind': {'type': 'string', 'const': 'create_palette_board'}, 'result': {'anyOf': [{'type': 'object', 'required': ['state', 'color_positions', 'clarification'], 'properties': {'state': {'type': 'string', 'const': 'clarification_needed'}, 'clarification': {'type': 'string', 'maxLength': 600}, 'color_positions': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'version', 'board_id', 'board_ref', 'palette', 'purpose', 'occasion', 'constraints', 'accessible_text', 'artifacts', 'storage'], 'properties': {'state': {'type': 'string', 'const': 'ready'}, 'palette': {'type': 'object', 'required': ['version', 'season_id', 'source', 'confirmed', 'quiz_version', 'suggested_season_id', 'revision', 'palette_ref', 'season', 'colors', 'guidance', 'caveat', 'storage'], 'properties': {'caveat': {'type': 'string', 'maxLength': 600}, 'colors': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#[0-9A-F]{6}$'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 12}, 'season': {'type': 'string'}, 'source': {'enum': ['quiz_suggestion', 'user_selection'], 'type': 'string'}, 'storage': {'type': 'string', 'maxLength': 600}, 'version': {'type': 'string', 'const': 'tonebook.palette.v1'}, 'guidance': {'type': 'string', 'maxLength': 600}, 'revision': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'confirmed': {'type': 'boolean'}, 'season_id': {'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, 'palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}, 'quiz_version': {'anyOf': [{'type': 'string', 'const': 'tonebook.quiz.2026-09-23'}, {'type': 'null'}]}, 'suggested_season_id': {'anyOf': [{'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'purpose': {'enum': ['outfit', 'event', 'packing'], 'type': 'string'}, 'storage': {'type': 'string', 'maxLength': 600}, 'version': {'type': 'string', 'const': 'tonebook.board.v1'}, 'board_id': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'occasion': {'anyOf': [{'enum': ['casual', 'work', 'evening', 'celebration', 'formal'], 'type': 'string'}, {'type': 'null'}]}, 'artifacts': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'mimeType', 'sha256'], 'properties': {'name': {'type': 'string'}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'mimeType': {'enum': ['image/svg+xml', 'image/png'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 2, 'minItems': 2}, 'board_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 16}, 'constraints': {'type': 'array', 'items': {'type': 'object', 'required': ['input_hex', 'swatch', 'hex', 'relation', 'rationale'], 'properties': {'hex': {'type': 'string'}, 'swatch': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'relation': {'enum': ['exact_palette_color', 'nearest_digital_swatch'], 'type': 'string'}, 'input_hex': {'type': 'string'}, 'rationale': {'type': 'string', 'maxLength': 600}}, 'additionalProperties': False}, 'maxItems': 12}, 'accessible_text': {'type': 'string', 'maxLength': 3000}}, 'additionalProperties': False}]}, 'schema_version': {'type': 'string', 'const': 'tonebook.connector.v1'}}, 'additionalProperties': False}
get_palette_board
Reconstruct a portable palette board
Reconstruct the same SVG, PNG, selected palette and supplied-color comparisons from a complete board reference. Anyone with a reference can read its public palette data. It is not an account credential and cannot retrieve purchased reports. No Tonebook server record is required.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['board_ref'], 'properties': {'board_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 16}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema_version', 'kind', 'result'], 'properties': {'kind': {'type': 'string', 'const': 'get_palette_board'}, 'result': {'anyOf': [{'type': 'object', 'required': ['state', 'color_positions', 'clarification'], 'properties': {'state': {'type': 'string', 'const': 'clarification_needed'}, 'clarification': {'type': 'string', 'maxLength': 600}, 'color_positions': {'type': 'array', 'items': {'type': 'integer', 'maximum': 12, 'minimum': 1}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'version', 'board_id', 'board_ref', 'palette', 'purpose', 'occasion', 'constraints', 'accessible_text', 'artifacts', 'storage'], 'properties': {'state': {'type': 'string', 'const': 'ready'}, 'palette': {'type': 'object', 'required': ['version', 'season_id', 'source', 'confirmed', 'quiz_version', 'suggested_season_id', 'revision', 'palette_ref', 'season', 'colors', 'guidance', 'caveat', 'storage'], 'properties': {'caveat': {'type': 'string', 'maxLength': 600}, 'colors': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#[0-9A-F]{6}$'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 12}, 'season': {'type': 'string'}, 'source': {'enum': ['quiz_suggestion', 'user_selection'], 'type': 'string'}, 'storage': {'type': 'string', 'maxLength': 600}, 'version': {'type': 'string', 'const': 'tonebook.palette.v1'}, 'guidance': {'type': 'string', 'maxLength': 600}, 'revision': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'confirmed': {'type': 'boolean'}, 'season_id': {'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, 'palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}, 'quiz_version': {'anyOf': [{'type': 'string', 'const': 'tonebook.quiz.2026-09-23'}, {'type': 'null'}]}, 'suggested_season_id': {'anyOf': [{'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'purpose': {'enum': ['outfit', 'event', 'packing'], 'type': 'string'}, 'storage': {'type': 'string', 'maxLength': 600}, 'version': {'type': 'string', 'const': 'tonebook.board.v1'}, 'board_id': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'occasion': {'anyOf': [{'enum': ['casual', 'work', 'evening', 'celebration', 'formal'], 'type': 'string'}, {'type': 'null'}]}, 'artifacts': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'mimeType', 'sha256'], 'properties': {'name': {'type': 'string'}, 'sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'mimeType': {'enum': ['image/svg+xml', 'image/png'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 2, 'minItems': 2}, 'board_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 16}, 'constraints': {'type': 'array', 'items': {'type': 'object', 'required': ['input_hex', 'swatch', 'hex', 'relation', 'rationale'], 'properties': {'hex': {'type': 'string'}, 'swatch': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'relation': {'enum': ['exact_palette_color', 'nearest_digital_swatch'], 'type': 'string'}, 'input_hex': {'type': 'string'}, 'rationale': {'type': 'string', 'maxLength': 600}}, 'additionalProperties': False}, 'maxItems': 12}, 'accessible_text': {'type': 'string', 'maxLength': 3000}}, 'additionalProperties': False}]}, 'schema_version': {'type': 'string', 'const': 'tonebook.connector.v1'}}, 'additionalProperties': False}
get_quiz_questions
Get palette quiz choices
Return Tonebook’s eight categorical self-assessment questions. Ask for the user’s own choices; do not infer choices from a photo or conversation history. No account, photo or payment is needed.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema_version', 'kind', 'result'], 'properties': {'kind': {'type': 'string', 'const': 'get_quiz_questions'}, 'result': {'type': 'object', 'required': ['questions', 'seasons', 'caveat', 'quiz_version'], 'properties': {'caveat': {'type': 'string'}, 'seasons': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 12}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'number', 'prompt', 'choices'], 'properties': {'key': {'type': 'string'}, 'number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'prompt': {'type': 'string'}, 'choices': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 8}, 'quiz_version': {'type': 'string', 'const': 'tonebook.quiz.2026-09-23'}}, 'additionalProperties': False}, 'schema_version': {'type': 'string', 'const': 'tonebook.connector.v1'}}, 'additionalProperties': False}
score_color_quiz
Score a palette self-assessment
Use eight explicit user-selected answers to suggest a 12-color starting palette and adjacent option. Uncertain or conflicting preferences prompt clarification. The versioned result is unconfirmed guidance, not a diagnosis. It never overwrites a confirmed palette.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['undertone', 'skin_depth', 'natural_hair', 'eye_color', 'contrast', 'metal_preference', 'white_preference', 'complimented_colors'], 'properties': {'contrast': {'enum': ['high', 'medium', 'low'], 'type': 'string', 'description': 'What is your overall feature contrast?'}, 'eye_color': {'enum': ['bright', 'warm', 'soft', 'deep'], 'type': 'string', 'description': 'What is your eye color?'}, 'undertone': {'enum': ['cool', 'warm', 'neutral', 'unsure'], 'type': 'string', 'description': 'Which colors do you prefer near your face?'}, 'skin_depth': {'enum': ['fair', 'medium', 'deep'], 'type': 'string', 'description': 'How would you describe your skin depth?'}, 'natural_hair': {'enum': ['warm_light', 'cool_light', 'warm_dark', 'cool_dark'], 'type': 'string', 'description': 'What is your natural hair color?'}, 'metal_preference': {'enum': ['silver', 'gold', 'both', 'rose'], 'type': 'string', 'description': 'Which metal look do you prefer near your face?'}, 'white_preference': {'enum': ['cool_white', 'unsure', 'cream'], 'type': 'string', 'description': 'Which white do you prefer wearing?'}, 'complimented_colors': {'enum': ['bright', 'muted', 'warm_rich', 'cool_soft', 'deep', 'light'], 'type': 'string', 'description': 'Which colors have drawn compliments on you?'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema_version', 'kind', 'result'], 'properties': {'kind': {'type': 'string', 'const': 'score_color_quiz'}, 'result': {'type': 'object', 'required': ['state', 'palette', 'adjacent_season_id', 'adjacent_season', 'clarification', 'starter_swatches', 'confidence'], 'properties': {'state': {'enum': ['suggestion', 'clarification_needed'], 'type': 'string'}, 'palette': {'type': 'object', 'required': ['version', 'season_id', 'source', 'confirmed', 'quiz_version', 'suggested_season_id', 'revision', 'palette_ref', 'season', 'colors', 'guidance', 'caveat', 'storage'], 'properties': {'caveat': {'type': 'string', 'maxLength': 600}, 'colors': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#[0-9A-F]{6}$'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 12}, 'season': {'type': 'string'}, 'source': {'enum': ['quiz_suggestion', 'user_selection'], 'type': 'string'}, 'storage': {'type': 'string', 'maxLength': 600}, 'version': {'type': 'string', 'const': 'tonebook.palette.v1'}, 'guidance': {'type': 'string', 'maxLength': 600}, 'revision': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'confirmed': {'type': 'boolean'}, 'season_id': {'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, 'palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}, 'quiz_version': {'anyOf': [{'type': 'string', 'const': 'tonebook.quiz.2026-09-23'}, {'type': 'null'}]}, 'suggested_season_id': {'anyOf': [{'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'confidence': {'type': 'string'}, 'clarification': {'type': ['string', 'null']}, 'adjacent_season': {'type': 'string'}, 'starter_swatches': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'hex'], 'properties': {'hex': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 4, 'minItems': 4}, 'adjacent_season_id': {'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}}, 'additionalProperties': False}, 'schema_version': {'type': 'string', 'const': 'tonebook.connector.v1'}}, 'additionalProperties': False}
select_palette
Confirm or correct a palette choice
Return a portable user-confirmed palette from an explicit season choice. For correction, pass the prior palette reference so source and revision are retained. Confirm only the user’s stated choice. Keep the new reference for later calls; this does not write account or native report data.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['season_id', 'confirmed'], 'properties': {'confirmed': {'type': 'boolean', 'const': True}, 'season_id': {'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, 'previous_palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['schema_version', 'kind', 'result'], 'properties': {'kind': {'type': 'string', 'const': 'select_palette'}, 'result': {'type': 'object', 'required': ['version', 'season_id', 'source', 'confirmed', 'quiz_version', 'suggested_season_id', 'revision', 'palette_ref', 'season', 'colors', 'guidance', 'caveat', 'storage'], 'properties': {'caveat': {'type': 'string', 'maxLength': 600}, 'colors': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'hex'], 'properties': {'hex': {'type': 'string', 'pattern': '^#[0-9A-F]{6}$'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 12}, 'season': {'type': 'string'}, 'source': {'enum': ['quiz_suggestion', 'user_selection'], 'type': 'string'}, 'storage': {'type': 'string', 'maxLength': 600}, 'version': {'type': 'string', 'const': 'tonebook.palette.v1'}, 'guidance': {'type': 'string', 'maxLength': 600}, 'revision': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'confirmed': {'type': 'boolean'}, 'season_id': {'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, 'palette_ref': {'type': 'string', 'maxLength': 1400, 'minLength': 16}, 'quiz_version': {'anyOf': [{'type': 'string', 'const': 'tonebook.quiz.2026-09-23'}, {'type': 'null'}]}, 'suggested_season_id': {'anyOf': [{'enum': ['bright_spring', 'warm_spring', 'light_spring', 'light_summer', 'cool_summer', 'soft_summer', 'soft_autumn', 'warm_autumn', 'deep_autumn', 'deep_winter', 'cool_winter', 'bright_winter'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'schema_version': {'type': 'string', 'const': 'tonebook.connector.v1'}}, 'additionalProperties': False}
Ajouté
get_palette_board
3 October 2026 02:40
Ajouté
create_palette_board
3 October 2026 02:40
Ajouté
compare_colors
3 October 2026 02:40
Ajouté
select_palette
3 October 2026 02:40
Ajouté
score_color_quiz
3 October 2026 02:40
Ajouté
get_quiz_questions
3 October 2026 02:40