Skip to main content
Glama
recepgocmen

Blue Perfumery MCP Server

by recepgocmen

get_perfumes_by_category

Search and retrieve perfumes categorized for men, women, or niche fragrances using Blue Perfumery MCP Server. Simplify perfume discovery by filtering results based on specific preferences.

Instructions

Get perfumes by category (men, women, niche)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory: 'men', 'women', or 'niche'

Implementation Reference

  • Handler for get_perfumes_by_category tool: validates category input, constructs MongoDB filter based on category (niche uses category field regex, men/women use gender field), queries active perfumes, returns JSON response with results.
    case "get_perfumes_by_category": { const { category } = args as { category: string }; if (!category) { throw new McpError( ErrorCode.InvalidParams, "Category parameter is required" ); } if (!["men", "women", "niche"].includes(category)) { throw new McpError( ErrorCode.InvalidParams, "Category must be 'men', 'women', or 'niche'" ); } let filter: any = { status: "active" }; if (category === "niche" || category === "niches") { // Niche perfumes - filter by category containing exclusive/artisanal/premium filter.$or = [ { category: { $regex: "exclusive", $options: "i" } }, { category: { $regex: "artisanal", $options: "i" } }, { category: { $regex: "premium", $options: "i" } }, { category: "niches" }, ]; } else if (category === "men" || category === "male") { // Men's perfumes - male or unisex filter.$or = [ { gender: "male" }, { gender: "unisex" }, ]; } else if (category === "women" || category === "female") { // Women's perfumes - female or unisex filter.$or = [ { gender: "female" }, { gender: "unisex" }, ]; } const results = await Product.find(filter).lean(); return { content: [ { type: "text", text: JSON.stringify({ success: true, category: category, count: results.length, perfumes: results, }, null, 2), }, ], }; }
  • Input schema definition for get_perfumes_by_category tool, specifying category as required string enum: men, women, niche.
    inputSchema: { type: "object", properties: { category: { type: "string", description: "Category: 'men', 'women', or 'niche'", enum: ["men", "women", "niche"], }, }, required: ["category"], },
  • src/index.ts:66-80 (registration)
    Registration of get_perfumes_by_category tool in ListTools response, including name, description, and input schema.
    { name: "get_perfumes_by_category", description: "Get perfumes by category (men, women, niche)", inputSchema: { type: "object", properties: { category: { type: "string", description: "Category: 'men', 'women', or 'niche'", enum: ["men", "women", "niche"], }, }, required: ["category"], }, },

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/recepgocmen/blue-perfumery-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server