Tonebook Palette
Server Details
Choose a palette, compare digital colors and create portable outfit, event or packing boards.
- Status
- Healthy
- Uptime
- 100.0% over 26 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool has a distinct role: quiz retrieval, quiz scoring, explicit palette selection, color comparison, board creation, and board retrieval. The two palette-producing tools are separated by input mode (explicit season choice vs. quiz answers), and the board create/get pair is clearly differentiated by generation vs. reconstruction.
All tool names use a consistent snake_case verb-first pattern: compare_colors, create_palette_board, get_palette_board, get_quiz_questions, score_color_quiz, and select_palette. The convention is predictable throughout.
Six tools are well-scoped for a focused color-palette workflow. Each tool corresponds to a meaningful step: assessment, scoring, palette confirmation, comparison, and board generation/retrieval.
The surface covers the core lifecycle from quiz to palette selection, color comparison, and board creation/retrieval. Minor gaps exist around discovering available season names or listing palette references, but agents can work around these through explicit user input.
Available Tools
6 toolscompare_colorsCompare supplied digital colorsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| colors | Yes | ||
| palette_ref | Yes | ||
| analytics_opt_out | No | Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| result | Yes | |
| schema_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the description adds real value by disclosing the 12-color cap, the hex-vs-name resolution behavior, and the output shape (nearest swatch via a fixed RGB rule plus rationale). The 'fixed RGB rule' itself is left undefined, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences ordered purpose → edge case → return → exclusion, with no filler. Front-loading is good; the phrasing 'Unknown or ambiguous names request hex values' is slightly awkward but still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be explained, and annotations cover safety. However, for the required palette_ref the description leaves the origin/format of the 'portable selected palette' unclear, which is the main gap an agent would hit when composing a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only analytics_opt_out is documented in-schema). The description partially compensates by explaining that colors accepts either six-digit hex or standard names and by characterizing palette_ref as a 'portable selected palette,' but it never clarifies palette_ref's format, length bounds, or where the agent obtains it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (compare) plus resource (supplied digital colors) with an explicit scope constraint: 'up to 12 supplied six-digit hex colors or standard color names with a portable selected palette.' The purpose is distinguishable from the palette/quiz siblings, though no sibling is named for contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a clear exclusion ('does not assess skin, photos, fabrics or garments you own') and an edge-case rule ('Unknown or ambiguous names request hex values'). It stops short of naming an alternative tool for the excluded cases or stating that palette_ref typically comes from select_palette, which is what a 5 would require.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_palette_boardCreate a portable palette boardARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| colors | No | ||
| purpose | Yes | ||
| occasion | No | ||
| palette_ref | Yes | ||
| analytics_opt_out | No | Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| result | Yes | |
| schema_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations: 'Computation only; no upload, charge, account record or closet inference' reinforces the readOnly/non-destructive hints, and the clarification-on-unknown-colors behavior is a genuine operational trait not visible in schema or annotations. It doesn't cover determinism/idempotency (which annotations supply) or anything about output size, but the added behavioral detail is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences: the first leads with what is produced, the second with prerequisites and safety. No filler, though the trailing 'no upload, charge, account record or closet inference' list is slightly padded and would read better as a short clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and annotations cover the safety profile. Still, for a 5-parameter tool with low schema coverage, the description leaves palette_ref and occasion unexplained and doesn't state how many colors are expected versus optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (analytics_opt_out is the lone documented param), so the description must compensate. It loosely covers palette (palette_ref), purpose (outfit/event/packing), and colors ('optional supplied garment colors'), but says nothing about occasion, the hex-vs-name color form, the 12-item cap, or the palette_ref token format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and output artifacts: 'Generate a labeled downloadable SVG board and matching 12-color PNG' from a user-confirmed palette and a purpose. It's clearly a creation tool, implicitly distinct from get_palette_board, but it never names a sibling or explicitly contrasts itself with the retrieval/selection tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one real prerequisite ('Requires the user's chosen palette; unknown colors request clarification'), which implies it follows select_palette. However, it never explicitly says when to use this vs get_palette_board or which purpose value to pick, and offers no exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_palette_boardReconstruct a portable palette boardARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| board_ref | Yes | ||
| analytics_opt_out | No | Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| result | Yes | |
| schema_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the access model: the reference is public, is not an account credential, cannot retrieve purchased reports, and does not require a Tonebook server record. That is meaningful behavioral context for a read-only, idempotent tool, though it does not discuss rate limits or other operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, and the remaining sentences add access and limitation context. There is some redundancy among the public-reference, non-credential, and no-server-record statements, but the description remains compact and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and annotations covering read-only/idempotent behavior, the description supplies the key access-model and limitation information an agent needs. The main remaining gap is that board_ref's format and acquisition path are not explained, which is minor but not negligible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, and board_ref has no schema description, so the description must carry that burden. It clarifies that board_ref is a complete, portable, public reference rather than a credential, but it does not specify the format, origin, or validation details for the parameter, while analytics_opt_out is already explained in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: reconstruct the same SVG, PNG, selected palette, and supplied-color comparisons from a board reference. It is clearly distinguishable from create_palette_board by the 'from a complete board reference' framing, though it does not explicitly name siblings or alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: use it when you have a complete board reference, and anyone with a reference can read the public palette data. It also states a limitation (cannot retrieve purchased reports) and that no server record is required, but it does not route users to specific alternative tools such as compare_colors or select_palette.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quiz_questionsGet palette quiz choicesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| analytics_opt_out | No | Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| result | Yes | |
| schema_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so safety is covered. The description adds genuinely new context beyond them: no account, photo or payment is required, and the questions must be put to the user rather than inferred. Logging behavior is covered by the parameter schema, not the description, so it is not double-counted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler: what is returned, how to use it, and prerequisites. The core purpose is front-loaded and each sentence carries a distinct piece of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the auth/prerequisite gap is closed explicitly. The only missing piece is the relationship to score_color_quiz and the broader quiz-to-palette flow, which would help an agent sequence calls. Otherwise complete for a simple zero-required-param read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter (analytics_opt_out) is documented thoroughly in the schema, including how to apply it to later calls. The description adds nothing about the parameter, and none is needed. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return Tonebook's eight categorical self-assessment questions') with the exact count, so an agent knows precisely what comes back. The framing as self-assessment questions to be asked of the user cleanly distinguishes it from the sibling score_color_quiz, which consumes answers rather than supplies questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear, concrete usage rule: ask the user for their own choices and do not infer them from a photo or conversation history. That is an explicit constraint on how to use the output. It stops short of naming score_color_quiz as the follow-on step in the flow, so routing to the next tool is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_color_quizScore a palette self-assessmentARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| contrast | Yes | What is your overall feature contrast? | |
| eye_color | Yes | What is your eye color? | |
| undertone | Yes | Which colors do you prefer near your face? | |
| skin_depth | Yes | How would you describe your skin depth? | |
| natural_hair | Yes | What is your natural hair color? | |
| metal_preference | Yes | Which metal look do you prefer near your face? | |
| white_preference | Yes | Which white do you prefer wearing? | |
| analytics_opt_out | No | Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged. | |
| complimented_colors | Yes | Which colors have drawn compliments on you? |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| result | Yes | |
| schema_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, yet the description adds real behavioral context: uncertain or conflicting answers trigger a clarification response rather than a palette, results are versioned and explicitly non-diagnostic, and confirmed palettes are never mutated. What's missing is any hint of what a clarification response contains or how 'conflicting' is judged, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with the capability front-loaded and the safety caveats after it; nothing is obviously padded. The middle clarification sentence and the final 'never overwrites' sentence are both load-bearing, though the versioned/unconfirmed framing is repeated slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema, complete enum coverage and four annotations, the description only needs to carry preconditions and behavioral caveats, and it does both. An agent can call this correctly from the description plus structured fields; the only shortfall is that the clarification branch and its resolution path are not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every enum is self-documented, so the baseline is 3. The description adds only the count ('eight') that maps to the eight required answers and flags that contradictory answer combinations matter; it says nothing about the ninth parameter (analytics_opt_out), whose semantics live entirely in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and output ('suggest a 12-color starting palette and adjacent option') from a specific input ('eight explicit user-selected answers'), so the agent knows exactly what the tool produces. The closing line ('never overwrites a confirmed palette') implicitly separates it from select_palette, which is the sibling an agent might otherwise confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the precondition (eight explicit user-selected answers, i.e. don't call with guessed values) and the exclusion (this is unconfirmed guidance, it does not replace a confirmed palette). It does not explicitly name get_quiz_questions as the source of those answers or select_palette as the promotion path, so the routing is implicit rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_paletteConfirm or correct a palette choiceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmed | Yes | ||
| season_id | Yes | ||
| analytics_opt_out | No | Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged. | |
| previous_palette_ref | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| result | Yes | |
| schema_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and non-destructive behavior, and the description reinforces this with 'does not write account or native report data,' which tells the agent there are no side effects to warn the user about. It also flags the reference-retention requirement, useful behavior beyond the structured fields, though idempotency isn't mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the purpose, then correction behavior, then the confirmation constraint and reference retention. Dense but each sentence carries instruction; only minor tightening is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure needn't be spelled out, and annotations cover the safety profile. Combined with the description's coverage of correction flow, reference retention, and no-write behavior, an agent has what it needs to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 25% schema coverage, the description must compensate, and it does: it explains what previous_palette_ref is for (retaining source and revision during correction) and constrains confirmed to the user's stated choice. season_id's enum and analytics_opt_out are already fully documented in the schema, so the remaining gap is small.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns a portable, user-confirmed palette from an explicit season choice, and it distinguishes confirmation from correction by describing the prior-reference path. It doesn't name any sibling tool to contrast with get_palette_board or create_palette_board, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational rules: pass previous_palette_ref when correcting so source and revision are retained, confirm only the user's stated choice, and keep the returned reference for later calls. There's no explicit when-not or named alternative, but the confirm-vs-correct distinction effectively routes usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Changed
compare_colors1 field changed- added
Input schema / properties / analytics_opt_outAdded value: +{ + "description": "Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged.", + "type": "boolean" +}
- Changed
create_palette_board1 field changed- added
Input schema / properties / analytics_opt_outAdded value: +{ + "description": "Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged.", + "type": "boolean" +}
- Changed
get_palette_board1 field changed- added
Input schema / properties / analytics_opt_outAdded value: +{ + "description": "Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged.", + "type": "boolean" +}
- Changed
get_quiz_questions1 field changed- added
Input schema / properties / analytics_opt_outAdded value: +{ + "description": "Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged.", + "type": "boolean" +}
- Changed
score_color_quiz1 field changed- added
Input schema / properties / analytics_opt_outAdded value: +{ + "description": "Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged.", + "type": "boolean" +}
- Changed
select_palette1 field changed- added
Input schema / properties / analytics_opt_outAdded value: +{ + "description": "Set true when the user asks not to measure Tonebook usage. Apply that choice to each subsequent Tonebook call. The tool works identically either way. No quiz answers or result content are logged.", + "type": "boolean" +}
6 tool updates
- First observed
compare_colors - First observed
create_palette_board - First observed
get_palette_board - First observed
get_quiz_questions - First observed
score_color_quiz - First observed
select_palette
Related MCP Connectors
Seasonal palettes, color-matched essentials, and your connected Aura DNA color and style reports.
Manage your wardrobe or closet, discover ways to wear your clothes, and get outfit suggestions.
Search, compare, and blend structured visual aesthetics, palettes, and creative directions.
- GrabientOAuthcom.grabient
Color palettes and gradients: search the gallery, make palettes and keep them in a Grabient account.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceExtract palettes from images, generate harmonies, gradients, random palettes; Check WCAG and APCA contrast; Suggest nearest passing OkLCH lightness; Simulate color-blindness; Convert and sort colors across formats (hex / RGB / HSL / OkLCH / …)MIT
- AlicenseAqualityCmaintenanceEnables users to explore fuse bead color charts, look up and search colors by code, name, HEX, brand, or series, and find approximate screen-color matches within or across palettes.5MIT
- AlicenseNot gradedqualityDmaintenanceProvides color and design tools including palette generation, WCAG contrast checking, color conversion, gradients, color blindness simulation, and CSS variables, all without API keys.17 PyPIMIT
- FlicenseNot gradedqualityCmaintenanceEnables querying thousands of UK paint colours, finding visually equivalent alternatives across brands, planning room projects, and exploring market trends.-
Glama MCP Gateway
Add one secure layer between your agents and this server.