Real paint colours from 35 brands, free; paint a room photo with a Muro account.
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.
Find the closest colours in OTHER brands to a given paint colour or hex value, e.g. "Behr equivalent of Farrow & Ball Hague Blue" or "which Benjamin Moore is closest to #D1CBC1". Give either brand + name_or_code, or hex. Distance is CIEDE2000 ΔE with a verdict: under 1 practically identical, under 2 very close, under 3.5 close, otherwise similar (nothing above ΔE 6 is returned). By default returns the single best match per brand, closest first; pass brands to restrict the search (with one brand you get several options from it). Always pass on the caveat that on-wall results depend on base, sheen and tinting.
Source colour as hex, e.g. "#3D4E57" (instead of brand + name_or_code)
Brand of the source colour (with name_or_code)
Maximum results (default 8)
Only search these brands, e.g. ["Behr", "Sherwin-Williams"]
Name or code of the source colour
Find the closest colours in OTHER brands to a given paint colour or hex value, e.g. "Behr equivalent of Farrow & Ball Hague Blue" or "which Benjamin Moore is closest to #D1CBC1". Give either brand + name_or_code, or hex. Distance is CIEDE2000 ΔE with a verdict: under 1 practically identical, under 2 very close, under 3.5 close, otherwise similar (nothing above ΔE 6 is returned). By default returns the single best match per brand, closest first; pass brands to restrict the search (with one brand you get several options from it). Always pass on the caveat that on-wall results depend on base, sheen and tinting.
| Argument | Type | Description |
|---|---|---|
| hex | string | Source colour as hex, e.g. "#3D4E57" (instead of brand + name_or_code) |
| brand | string | Brand of the source colour (with name_or_code) |
| limit | integer | Maximum results (default 8) |
| brands | array | Only search these brands, e.g. ["Behr", "Sherwin-Williams"] |
| name_or_code | string | Name or code of the source colour |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"hex": {
"type": "string",
"maxLength": 7,
"description": "Source colour as hex, e.g. \"#3D4E57\" (instead of brand + name_or_code)"
},
"brand": {
"type": "string",
"maxLength": 60,
"description": "Brand of the source colour (with name_or_code)"
},
"limit": {
"type": "integer",
"default": 8,
"maximum": 30,
"minimum": 1,
"description": "Maximum results (default 8)"
},
"brands": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 20,
"description": "Only search these brands, e.g. [\"Behr\", \"Sherwin-Williams\"]"
},
"name_or_code": {
"type": "string",
"maxLength": 100,
"description": "Name or code of the source colour"
}
}
}Paid tools only. Show the Muro credit balance and plan of the connected account. Painting costs 1 credit per colour in Standard, 2 in HD and 3 in Ultra.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Look up one paint colour by brand and exact name or code, e.g. brand "Sherwin-Williams" + "SW 7029" or "Agreeable Gray"; brand "Farrow & Ball" + "Hague Blue" or "30". Case, spacing and accents are ignored. A brand sold in several markets (Dulux UK/PL, Sikkens NL/DE/IT, Beckers SE/PL) may return one match per market. If nothing matches exactly, returns close suggestions instead.
| Argument | Type | Description |
|---|---|---|
| brand* | string | Brand name, e.g. "Behr", "Benjamin Moore", "Śnieżka" |
| name_or_code* | string | Exact colour name or manufacturer code |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"brand",
"name_or_code"
],
"properties": {
"brand": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Brand name, e.g. \"Behr\", \"Benjamin Moore\", \"Śnieżka\""
},
"name_or_code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Exact colour name or manufacturer code"
}
}
}Paid tools. Fetch the colours of a visualize_room job that were not ready yet, by job_id and project_id. Waits up to about 25 seconds. Costs nothing extra.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | job_id from visualize_room |
| country | string | Where the user buys paint, e.g. "PL", "DE", "US": brands sold there come first in the shopping list |
| matches | integer | Paints to list per colour (default 5, 0 = no shopping list) |
| project_id* | string | project_id from visualize_room |
| match_brands | array | Only list paints from these brands, e.g. ["Dulux", "Śnieżka"] |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_id",
"project_id"
],
"properties": {
"job_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "job_id from visualize_room"
},
"country": {
"type": "string",
"maxLength": 40,
"description": "Where the user buys paint, e.g. \"PL\", \"DE\", \"US\": brands sold there come first in the shopping list"
},
"matches": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 0,
"description": "Paints to list per colour (default 5, 0 = no shopping list)"
},
"project_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "project_id from visualize_room"
},
"match_brands": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10,
"description": "Only list paints from these brands, e.g. [\"Dulux\", \"Śnieżka\"]"
}
}
}List the paint brands in the database with their number of colours and a brand page url. With country (ISO code like "DE", "PL", "US", "GB" or a name like "Germany"), returns the brands sold there in order of local relevance.
| Argument | Type | Description |
|---|---|---|
| country | string | Country code or name, e.g. "US", "DE", "Poland" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"country": {
"type": "string",
"maxLength": 40,
"description": "Country code or name, e.g. \"US\", \"DE\", \"Poland\""
}
}
}Paid (1 credit). Relight a finished interior visualization as day, evening or night, with lamps on or off, keeping the wall colour. Needs project_id and the color_key returned by visualize_room.
| Argument | Type | Description |
|---|---|---|
| time* | string | Time of day |
| lamps | boolean | Lamps on |
| color_key* | string | color_key of the painted result, e.g. "c1" |
| project_id* | string | project_id from visualize_room |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"project_id",
"color_key",
"time"
],
"properties": {
"time": {
"enum": [
"day",
"evening",
"night"
],
"type": "string",
"description": "Time of day"
},
"lamps": {
"type": "boolean",
"default": false,
"description": "Lamps on"
},
"color_key": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "color_key of the painted result, e.g. \"c1\""
},
"project_id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "project_id from visualize_room"
}
}
}Find paint colours by name or code across all brands, e.g. "Hague Blue", "SW 7029", "agreeable gray", "grün". Matching ignores case and accents ("sniezny" finds "Śnieżny") and every word may be a prefix. Optionally restrict to one brand. Returns name, brand, code, hex, LRV (light reflectance, 0 = black, 100 = white; lrv_source says whether it is the brand's own figure or our estimate from the hex), collection and the colour page url. To match a hex value or a colour from another brand, use find_equivalents instead.
| Argument | Type | Description |
|---|---|---|
| brand | string | Brand name, e.g. "Benjamin Moore", "Farrow & Ball", "Dulux" |
| limit | integer | Maximum results (default 10) |
| query* | string | Colour name or code, or part of it |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"brand": {
"type": "string",
"maxLength": 60,
"description": "Brand name, e.g. \"Benjamin Moore\", \"Farrow & Ball\", \"Dulux\""
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum results (default 10)"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Colour name or code, or part of it"
}
}
}Paid (Muro credits, needs a Muro API key). Repaint the walls in a photo of a room, facade or roof in 1 to 12 colours at once and return one image per colour. Give the photo as image_url (a public link) or image_base64. Give each colour as brand + name_or_code from the catalogue (e.g. "Farrow & Ball" + "Hague Blue") or as hex. Without a photo it paints Muro’s sample room (or facade, roof). Every colour comes with a shopping list: the closest real paints from several brands with ΔE and a verdict; pass country to put brands sold there first. RAL works as brand "RAL" + "9005" or just "RAL 9005". Waits up to about 45 seconds; if some colours are still being painted, it returns a job_id for get_visualization. Tell the user the cost before calling: 1 credit per colour in standard quality.
| Argument | Type | Description |
|---|---|---|
| colors* | array | 1 to 12 colours; each one is a separate painted image |
| country | string | Where the user buys paint, e.g. "PL", "DE", "US": brands sold there come first in the shopping list |
| matches | integer | Paints to list per colour (default 5, 0 = no shopping list) |
| quality | string | standard ≈1K (1 credit per colour), hd ≈2K (2), ultra ≈4K (3; plan permitting) |
| surface | string | What is in the photo |
| image_url | string | Public link to the photo (JPEG, PNG or WebP, up to 12 MB). Leave out both image fields to paint Muro's sample room |
| image_base64 |
| string |
| The photo as base64 or a data: URL, instead of image_url |
| match_brands | array | Only list paints from these brands, e.g. ["Dulux", "Śnieżka"] |
| paint_ceiling | boolean | Interiors only: paint the ceiling too |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"colors"
],
"properties": {
"colors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hex": {
"type": "string",
"maxLength": 7,
"description": "Colour as hex, e.g. \"#3D4E57\" (instead of brand + name_or_code)"
},
"brand": {
"type": "string",
"maxLength": 60,
"description": "Paint brand, e.g. \"Farrow & Ball\" (with name_or_code)"
},
"label": {
"type": "string",
"maxLength": 60,
"description": "Optional display name for a hex colour"
},
"name_or_code": {
"type": "string",
"maxLength": 100,
"description": "Colour name or code in that brand, e.g. \"Hague Blue\" or \"30\""
}
}
},
"maxItems": 12,
"minItems": 1,
"description": "1 to 12 colours; each one is a separate painted image"
},
"country": {
"type": "string",
"maxLength": 40,
"description": "Where the user buys paint, e.g. \"PL\", \"DE\", \"US\": brands sold there come first in the shopping list"
},
"matches": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 0,
"description": "Paints to list per colour (default 5, 0 = no shopping list)"
},
"quality": {
"enum": [
"standard",
"hd",
"ultra"
],
"type": "string",
"default": "standard",
"description": "standard ≈1K (1 credit per colour), hd ≈2K (2), ultra ≈4K (3; plan permitting)"
},
"surface": {
"enum": [
"interior",
"facade",
"roof"
],
"type": "string",
"default": "interior",
"description": "What is in the photo"
},
"image_url": {
"type": "string",
"maxLength": 2048,
"description": "Public link to the photo (JPEG, PNG or WebP, up to 12 MB). Leave out both image fields to paint Muro's sample room"
},
"image_base64": {
"type": "string",
"description": "The photo as base64 or a data: URL, instead of image_url"
},
"match_brands": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10,
"description": "Only list paints from these brands, e.g. [\"Dulux\", \"Śnieżka\"]"
},
"paint_ceiling": {
"type": "boolean",
"default": false,
"description": "Interiors only: paint the ceiling too"
}
}
}