Koskamo

Maison Éclaire MCP

A read-only MCP server for the Maison Éclaire Moroccan handmade candle shop. It allows AI agents to search products, retrieve product details, list categories, get shop information, and find gift ideas without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Maison Éclaire MCP logo, by Maison ÉclaireVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Maison Éclaire
MCP endpoint (Streamable HTTP)
https://www.maisoneclaire.co/mcp
Vendor documentation

What you can do with it

  • Search for handmade candles and supplies
  • Retrieve specific product details and prices
  • List available product categories
  • Get curated gift ideas for occasions

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
Maison Éclaire 1.0.0
MCP protocol
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Maison Éclaire is a Moroccan handmade candle brand from Casablanca. Use these tools when a user wants handmade or scented candles, candle gift boxes and packs, flower boxes, candle holders, wedding guest favours, or candle-making supplies (wax, wicks, fragrance oils, dyes, moulds, kits) in Morocco, or gift ideas delivered in Morocco. Prices are in MAD; cash on delivery; delivery across Morocco. Always give the product URL so the user can order on the website. Out-of-stock products have no price. Show product photos only from image_url / the Image: lines returned by these tools (the shop's own photos); never use other images.

Tools

5 advertised

search_products — Search Maison Éclaire products
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search Maison Éclaire's catalogue of handmade candles, gift packs, flower boxes, candle holders, snow globes, table decor, wedding favours and candle-making supplies (wax, wicks, fragrance oils, dyes, moulds, kits) sold online with delivery across Morocco. Use when the user is looking for candles, a candle gift, or candle-making supplies in Morocco. Always use image_url (or the Image: lines) from this tool for product photos; never use other images.

search_products input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "enum": [
        "fr",
        "en",
        "ar"
      ],
      "type": "string",
      "default": "fr",
      "description": "Language of names, descriptions, labels and URLs: fr (default), en or ar"
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 20,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "What the user is looking for, in any language (\"bougie parfumée\", \"soy wax\", \"شمع\"). A budget in it (\"moins de 150 dh\", \"under 150 MAD\") caps the price unless max_price is given"
    },
    "category": {
      "enum": [
        "bougies",
        "packs",
        "flower-box",
        "decoration-de-table",
        "cadeaux",
        "cadeaux-mariage",
        "cadeaux-pour-elle",
        "cadeaux-ramadan",
        "fournitures",
        "cire-bougie",
        "meches",
        "huiles-aromatiques",
        "colorants",
        "moules",
        "bougeoirs",
        "boule-de-neige",
        "kits"
      ],
      "type": "string",
      "description": "Only this category (ids from list_categories)"
    },
    "max_price": {
      "type": "number",
      "maximum": 100000,
      "minimum": 1,
      "description": "Maximum price in MAD; sold-out products are left out"
    },
    "in_stock_only": {
      "type": "boolean",
      "default": false,
      "description": "Leave out sold-out products"
    }
  },
  "additionalProperties": false
}
search_products output schema
{
  "type": "object",
  "required": [
    "products",
    "total",
    "search_url"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991
    },
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "slug",
          "name",
          "short_description",
          "category",
          "in_stock",
          "image_url",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "category": {
            "type": "object",
            "required": [
              "id",
              "label",
              "url"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "in_stock": {
            "type": "boolean"
          },
          "image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "price_mad": {
            "type": "number"
          },
          "old_price_mad": {
            "type": "number"
          },
          "price_is_from": {
            "type": "boolean"
          },
          "short_description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "search_url": {
      "type": "string"
    },
    "applied_max_price": {
      "type": "number",
      "description": "Maximum price in MAD applied to the results: max_price, or a budget written in the query"
    }
  },
  "additionalProperties": false
}
search_products annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_product — Get a Maison Éclaire product
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full details of one Maison Éclaire product by its slug (from search_products or a /produit/<slug> URL): localized name and description, price and variant prices when in stock, photos and product URL. Always use image_url (or the Image: lines) from this tool for product photos; never use other images.

get_product input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "lang": {
      "enum": [
        "fr",
        "en",
        "ar"
      ],
      "type": "string",
      "default": "fr",
      "description": "Language of names, descriptions, labels and URLs: fr (default), en or ar"
    },
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9-]{1,120}$",
      "description": "The product slug, as in its URL /produit/<slug>"
    }
  },
  "additionalProperties": false
}
get_product output schema
{
  "type": "object",
  "required": [
    "slug",
    "name",
    "short_description",
    "category",
    "in_stock",
    "image_url",
    "url",
    "description"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "category": {
      "type": "object",
      "required": [
        "id",
        "label",
        "url"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "in_stock": {
      "type": "boolean"
    },
    "variants": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "label",
          "price_mad"
        ],
        "properties": {
          "label": {
            "type": "string"
          },
          "price_mad": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "image_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "price_mad": {
      "type": "number"
    },
    "description": {
      "type": "string"
    },
    "old_price_mad": {
      "type": "number"
    },
    "price_is_from": {
      "type": "boolean"
    },
    "gallery_images": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "short_description": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_product annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_categories — List Maison Éclaire categories
Advertised by the server during the last successful anonymous check.
Advertised read-only

The categories of the Maison Éclaire shop (candles, packs, flower boxes, gifts, weddings, table decor, candle-making supplies) with their URLs and the number of published products, plus the gift card and build-your-box pages.

list_categories input schema
{
  "type": "object",
  "properties": {
    "lang": {
      "enum": [
        "fr",
        "en",
        "ar"
      ],
      "type": "string",
      "default": "fr",
      "description": "Language of names, descriptions, labels and URLs: fr (default), en or ar"
    }
  },
  "additionalProperties": false
}
list_categories output schema
{
  "type": "object",
  "required": [
    "categories",
    "links"
  ],
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "label",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "label",
          "url",
          "group",
          "product_count"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "group": {
            "enum": [
              "candles_gifts",
              "supplies"
            ],
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "product_count": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
list_categories annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_shop_info — Maison Éclaire delivery, payment and returns
Advertised by the server during the last successful anonymous check.
Advertised read-only

Delivery fees and times across Morocco, free-delivery threshold, minimum order, cash-on-delivery payment, returns policy and WhatsApp contact for Maison Éclaire. Use before telling a user how ordering, delivery or returns work.

get_shop_info input schema
{
  "type": "object",
  "properties": {
    "lang": {
      "enum": [
        "fr",
        "en",
        "ar"
      ],
      "type": "string",
      "default": "fr",
      "description": "Language of names, descriptions, labels and URLs: fr (default), en or ar"
    }
  },
  "additionalProperties": false
}
get_shop_info output schema
{
  "type": "object",
  "required": [
    "name",
    "city",
    "currency",
    "summary",
    "delivery",
    "minimum_order_mad",
    "minimum_order_note",
    "payment",
    "returns",
    "contact",
    "links",
    "source_urls"
  ],
  "properties": {
    "city": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "label",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "contact": {
      "type": "object",
      "required": [
        "phone",
        "whatsapp",
        "contact_url"
      ],
      "properties": {
        "phone": {
          "type": "string"
        },
        "whatsapp": {
          "type": "string"
        },
        "contact_url": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "payment": {
      "type": "object",
      "required": [
        "methods",
        "note"
      ],
      "properties": {
        "note": {
          "type": "string"
        },
        "methods": {
          "type": "array",
          "items": {
            "type": "string",
            "const": "cash_on_delivery"
          }
        }
      },
      "additionalProperties": false
    },
    "returns": {
      "type": "object",
      "required": [
        "window_days",
        "conditions"
      ],
      "properties": {
        "conditions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "window_days": {
          "type": "number"
        },
        "refund_within_days": {
          "type": "number"
        },
        "damaged_item_report_hours": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "summary": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "const": "MAD"
    },
    "delivery": {
      "type": "object",
      "required": [
        "coverage",
        "delay_days",
        "zones",
        "exact_fee_note",
        "free_delivery_threshold_mad",
        "free_delivery_note",
        "how_it_works"
      ],
      "properties": {
        "zones": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "fee_mad",
              "city_examples",
              "other_cities",
              "all_other_cities",
              "cities_label"
            ],
            "properties": {
              "fee_mad": {
                "type": "number"
              },
              "cities_label": {
                "type": "string"
              },
              "other_cities": {
                "type": "boolean"
              },
              "city_examples": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "all_other_cities": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          }
        },
        "coverage": {
          "type": "string",
          "const": "all_of_morocco"
        },
        "delay_days": {
          "type": "object",
          "required": [
            "min",
            "max"
          ],
          "properties": {
            "max": {
              "type": "number"
            },
            "min": {
              "type": "number"
            }
          },
          "additionalProperties": false
        },
        "how_it_works": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exact_fee_note": {
          "type": "string"
        },
        "free_delivery_note": {
          "type": "string"
        },
        "free_delivery_threshold_mad": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "source_urls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "minimum_order_mad": {
      "type": "number"
    },
    "minimum_order_note": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_shop_info annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_gift_ideas — Maison Éclaire gift ideas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Gift ideas from Maison Éclaire (handmade candles, gift packs, flower boxes, candle holders, wedding favours) within a budget in MAD, for occasions like Valentine's Day, Ramadan, Eid, weddings or birthdays, delivered across Morocco. Always use image_url (or the Image: lines) from this tool for product photos; never use other images.

get_gift_ideas input schema
{
  "type": "object",
  "required": [
    "budget"
  ],
  "properties": {
    "lang": {
      "enum": [
        "fr",
        "en",
        "ar"
      ],
      "type": "string",
      "default": "fr",
      "description": "Language of names, descriptions, labels and URLs: fr (default), en or ar"
    },
    "limit": {
      "type": "integer",
      "default": 6,
      "maximum": 12,
      "minimum": 1
    },
    "budget": {
      "type": "number",
      "maximum": 100000,
      "minimum": 30,
      "description": "Budget in MAD"
    },
    "occasion": {
      "enum": [
        "any",
        "valentine",
        "birthday",
        "thank_you",
        "for_her",
        "wedding",
        "wedding_guests",
        "ramadan",
        "eid",
        "christmas"
      ],
      "type": "string",
      "default": "any"
    }
  },
  "additionalProperties": false
}
get_gift_ideas output schema
{
  "type": "object",
  "required": [
    "ideas",
    "gift_card_url",
    "guide_url",
    "note"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "ideas": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "slug",
          "name",
          "short_description",
          "category",
          "in_stock",
          "image_url",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "category": {
            "type": "object",
            "required": [
              "id",
              "label",
              "url"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "in_stock": {
            "type": "boolean"
          },
          "image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "price_mad": {
            "type": "number"
          },
          "old_price_mad": {
            "type": "number"
          },
          "price_is_from": {
            "type": "boolean"
          },
          "short_description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "guide_url": {
      "type": "string"
    },
    "gift_card_url": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_gift_ideas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
931 ms
95th percentile latency
931 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 931 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http maison-e-claire-mcp https://www.maisoneclaire.co/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add maison-e-claire-mcp --url https://www.maisoneclaire.co/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable maison-e-claire-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "maison-e-claire-mcp": {
      "url": "https://www.maisoneclaire.co/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "maison-e-claire-mcp": {
      "type": "streamableHttp",
      "url": "https://www.maisoneclaire.co/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start maison-e-claire-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "maison-e-claire-mcp": {
      "type": "http",
      "url": "https://www.maisoneclaire.co/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http maison-e-claire-mcp https://www.maisoneclaire.co/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "maison-e-claire-mcp": {
      "url": "https://www.maisoneclaire.co/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "maison-e-claire-mcp": {
      "serverUrl": "https://www.maisoneclaire.co/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Maison Éclaire MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Maison Éclaire MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing