MyHairMail Agent Tools

Open, read-only wig stock, restock ETAs and cross-brand color matching. No key; fair-use limits.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
100%
Poisoning risk
40%
Permission match
100%
Protocol compliance
100%

Findings (4)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin check_stock
  • MEDIUMTool description contains URL to non-standard domainin get_restock_eta
  • MEDIUMTool description contains URL to non-standard domainin color_crossmatch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,884Tokens (tool definitions)
~5.1 KBTypical response size
Moderate attention impact (1.47% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agent-tools": {
      "url": "https://mcp.myhairmailtools.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.myhairmailtools.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_stock(brand, style, color)

Live availability of one wig or hairpiece style at MyHairMail, per colour, from the manufacturer's factory feed (not a nightly sync). Distinguishes backordered and discontinued colours, which the Shopify catalog reports as 'available' or omits. availability is one of in_stock | backordered (orderable now, ships when restocked; restock_eta_week given when known) | out_of_stock | discontinued (will not restock). Returns price_usd, compare_at_price_usd and a product_url to buy on myhairmail.com. With color: one product; without color: up to 12 colours (has_more=true means query a specific colour). Not found: did_you_mean styles, or supported_brands if the brand is not carried. When a colour is not buyable now, the response includes next_step naming the tool that finds an equivalent. Never returns quantities. Terms: https://mcp.myhairmailtools.com/terms

Input Schema

{
  "type": "object",
  "properties": {
    "brand": {
      "type": "string",
      "description": "Brand name, e.g. 'Jon Renau', 'Raquel Welch', 'Belle Tress'"
    },
    "style": {
      "type": "string",
      "description": "Style name, e.g. 'Luna', 'Vesper'"
    },
    "color": {
      "description": "Color code or name, e.g. '12FS8' or 'Shaded Praline'. Optional; if omitted, returns per-color availability for up to 12 colors.",
      "type": "string"
    }
  },
  "required": [
    "brand",
    "style"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "match": {
      "type": "boolean"
    },
    "product": {
      "type": "object",
      "properties": {
        "brand": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "color": {
          "type": "string"
        },
        "availability": {
          "type": "string",
          "enum": [
            "in_stock",
            "out_of_stock",
            "backordered",
            "discontinued"
          ]
        },
        "restock_eta_week": {
          "type": "string"
        },
        "eta_display": {
          "type": "string"
        },
        "price_usd": {
          "type": "number"
        },
        "compare_at_price_usd": {
          "type": "number"
        },
        "ships_today_cutoff": {
          "type": "string"
        },
        "product_url": {
          "type": "string"
        }
      },
      "required": [
        "brand",
        "style",
        "availability",
        "price_usd",
        "product_url"
      ],
      "additionalProperties": {}
    },
    "colors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string"
          },
          "style": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "availability": {
            "type": "string",
            "enum": [
              "in_stock",
              "out_of_stock",
              "backordered",
              "discontinued"
            ]
          },
          "restock_eta_week": {
            "type": "string"
          },
          "eta_display": {
            "type": "string"
          },
          "price_usd": {
            "type": "number"
          },
          "compare_at_price_usd": {
            "type": "number"
          },
          "ships_today_cutoff": {
            "type": "string"
          },
          "product_url": {
            "type": "string"
          }
        },
        "required": [
          "brand",
          "style",
          "availability",
          "price_usd",
          "product_url"
        ],
        "additionalProperties": {}
      }
    },
    "has_more": {
      "type": "boolean"
    },
    "note": {
      "type": "string"
    },
    "next_step": {
      "type": "object",
      "properties": {
        "tool": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        }
      },
      "required": [
        "tool",
        "reason"
      ],
      "additionalProperties": {}
    },
    "did_you_mean": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string"
          },
          "style": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        },
        "required": [
          "brand",
          "style"
        ],
        "additionalProperties": {}
      }
    },
    "supported_brands": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "retailer": {
      "type": "string"
    }
  },
  "required": [
    "match",
    "retailer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢get_restock_eta(brand, style, color)

Expected back-in-stock week for one colour of a MyHairMail wig that is backordered or out of stock, from live factory availability. restock_eta_week is the Monday (YYYY-MM-DD) of the ISO week of expected arrival; eta_display is human phrasing ('week of Nov 9'). preorder_available=true means it can be ordered now and ships when restocked. discontinued means it will not restock; the response then includes next_step naming the tool that finds an equivalent. For an in_stock colour this simply confirms availability. Never returns quantities. Terms: https://mcp.myhairmailtools.com/terms

Input Schema

{
  "type": "object",
  "properties": {
    "brand": {
      "type": "string",
      "description": "Brand name, e.g. 'Envy', 'Jon Renau'"
    },
    "style": {
      "type": "string",
      "description": "Style name, e.g. 'Charlotte Hand-Tied'"
    },
    "color": {
      "type": "string",
      "description": "Colour name or code exactly as listed by check_stock, e.g. 'Prosecco' or 'FS26/31S6'"
    }
  },
  "required": [
    "brand",
    "style",
    "color"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "match": {
      "type": "boolean"
    },
    "product": {
      "type": "object",
      "properties": {
        "brand": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "color": {
          "type": "string"
        },
        "availability": {
          "type": "string",
          "enum": [
            "in_stock",
            "out_of_stock",
            "backordered",
            "discontinued"
          ]
        },
        "restock_eta_week": {
          "type": "string"
        },
        "eta_display": {
          "type": "string"
        },
        "price_usd": {
          "type": "number"
        },
        "compare_at_price_usd": {
          "type": "number"
        },
        "ships_today_cutoff": {
          "type": "string"
        },
        "product_url": {
          "type": "string"
        },
        "preorder_available": {
          "type": "boolean"
        },
        "notify_url": {
          "type": "string"
        }
      },
      "required": [
        "brand",
        "style",
        "availability",
        "price_usd",
        "product_url",
        "preorder_available",
        "notify_url"
      ],
      "additionalProperties": {}
    },
    "next_step": {
      "type": "object",
      "properties": {
        "tool": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        }
      },
      "required": [
        "tool",
        "reason"
      ],
      "additionalProperties": {}
    },
    "did_you_mean": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string"
          },
          "style": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        },
        "required": [
          "brand",
          "style"
        ],
        "additionalProperties": {}
      }
    },
    "supported_brands": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "note": {
      "type": "string"
    },
    "retailer": {
      "type": "string"
    }
  },
  "required": [
    "match",
    "retailer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢color_crossmatch(source_brand, source_color, target_brand)

Closest equivalent colours in ONE target brand for a known colour from a DIFFERENT brand, using MyHairMail's cross-brand colour mapping. Answers 'what is my shade called in brand X' — relevant when a colour is discontinued or out of stock, or when a shopper knows their shade in one brand and is shopping another. Returns up to 3 matches ranked by similarity (closest > close > approximate) with short tone notes, and when available an example_in_stock_style + product_url in the target brand. Same-brand requests are refused (use check_stock for other colours of the same brand). One source colour and one target brand per call; 'all brands' and wildcards are not supported. Unknown brand: supported_brands is returned. Terms: https://mcp.myhairmailtools.com/terms

Input Schema

{
  "type": "object",
  "properties": {
    "source_brand": {
      "type": "string",
      "description": "Brand of the known color, e.g. 'Jon Renau'"
    },
    "source_color": {
      "type": "string",
      "description": "Color code or name, e.g. '12FS8' or 'Shaded Praline'"
    },
    "target_brand": {
      "type": "string",
      "description": "Single brand to match into, e.g. 'Belle Tress'. Wildcards and 'all brands' are not supported."
    }
  },
  "required": [
    "source_brand",
    "source_color",
    "target_brand"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "match": {
      "type": "boolean"
    },
    "reason": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "source_brand": {
      "type": "string"
    },
    "source_color": {
      "type": "string"
    },
    "source_color_query": {
      "type": "string"
    },
    "target_brand": {
      "type": "string"
    },
    "supported_brands": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "target_brand": {
            "type": "string"
          },
          "target_color": {
            "type": "string"
          },
          "similarity": {
            "type": "string",
            "enum": [
              "closest",
              "close",
              "approximate"
            ]
          },
          "tone_notes": {
            "type": "string"
          },
          "example_in_stock_style": {
            "type": "string"
          },
          "product_url": {
            "type": "string"
          }
        },
        "required": [
          "target_brand",
          "target_color",
          "similarity",
          "tone_notes"
        ],
        "additionalProperties": {}
      }
    },
    "retailer": {
      "type": "string"
    }
  },
  "required": [
    "match",
    "retailer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools