{
  "data": {
    "tool": {
      "category": "productivity",
      "endpoint": "https://mcp.noteboxd.com/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/noteboxd-mcp.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/noteboxd-mcp.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/noteboxd-mcp.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 9675,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 26
          },
          "findings": [
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "ai_collection",
              "message": "2 parameters without a description: response_format, size",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "ai_recommend",
              "message": "2 parameters without a description: limit, response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "ai_wear_today",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "brand_get",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "chart_get",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "charts_list",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "fragrance_compare",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "fragrance_get",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "fragrance_get_reviews",
              "message": "4 parameters without a description: cursor, limit, response_format, sort",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "fragrance_get_wearing_stats",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "fragrance_review_digest",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "fragrance_search",
              "message": "7 parameters without a description: concentration, cursor, decade, gender, limit, response_format and 1 more",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "fragrance_similar",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "note_explore",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "notes_list",
              "message": "3 parameters without a description: limit, response_format, sort",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "perfumer_get",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "search",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "trending",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_get_cabinet",
              "message": "5 parameters without a description: cursor, limit, response_format, sort, status",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_get_collections",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_get_reviews",
              "message": "4 parameters without a description: cursor, kind, limit, response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_get_wearing_history",
              "message": "3 parameters without a description: cursor, limit, response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_get_wishlist",
              "message": "3 parameters without a description: cursor, limit, response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_taste_compare",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_taste_public",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "user_taste_summary",
              "message": "1 parameter without a description: response_format",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "27 of 27 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:23:28Z",
        "count": 27,
        "schemaTokens": 9675,
        "status": "ok",
        "tools": [
          {
            "name": "noteboxd_open",
            "description": "Open the Noteboxd app UI in ChatGPT. Call with no arguments to show the home screen (trending fragrances), with `query` to run a fragrance search inside the app, or with `fragrance` (slug or UUID) to show a fragrance profile. The app renders the returned result; keep the chat reply to one short line.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "fragrance": {
                  "description": "Fragrance slug or UUID to show in the Noteboxd app.",
                  "type": "string"
                },
                "query": {
                  "description": "Search query to run inside the Noteboxd app.",
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "fragrance_search",
            "description": "Search and filter the Noteboxd fragrance encyclopedia. Requires a query or at least one filter — the full catalogue cannot be listed.\n\nTip: The `q` parameter searches fragrance names OR brand names independently. For best results with a known brand, use the `brand` slug filter instead of including the brand name in `q`.\n\nExamples:\n- \"Find woody fragrances above 8/10 from the 2010s\" → note='woody' + minScore=8 + decade='2010s'\n- \"Creed fragrances\" → brand='creed'\n- \"Bleu de Chanel\" → q='Bleu' + brand='chanel'\n\nSee also: `fragrance_get` for a single fragrance's full profile · `search` for universal cross-entity lookup (brands, notes, perfumers, collections in one call).",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "accord": {
                  "description": "Accord slug filter, e.g. 'woody', 'gourmand'",
                  "type": "string"
                },
                "brand": {
                  "description": "Brand slug filter, e.g. 'creed'",
                  "type": "string"
                },
                "concentration": {
                  "enum": [
                    "EdP",
                    "EdT",
                    "Parfum",
                    "EdC",
                    "SdP",
                    "EdF",
                    "Cologne",
                    "Other"
                  ],
                  "type": "string"
                },
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "cursor": {
                  "type": "string"
                },
                "decade": {
                  "enum": [
                    "1990s",
                    "2000s",
                    "2010s",
                    "2020s"
                  ],
                  "type": "string"
                },
                "gender": {
                  "enum": [
                    "masculine",
                    "feminine",
                    "unisex"
                  ],
                  "type": "string"
                },
                "limit": {
                  "default": 24,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "minScore": {
                  "description": "Minimum community score (0-10)",
                  "maximum": 10,
                  "minimum": 0,
                  "type": "number"
                },
                "note": {
                  "description": "Note slug filter, e.g. 'oud', 'bergamot'",
                  "type": "string"
                },
                "query": {
                  "description": "Free-text search across fragrance and brand names",
                  "maxLength": 200,
                  "minLength": 2,
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "sort": {
                  "default": "score",
                  "enum": [
                    "score",
                    "reviews",
                    "recent",
                    "alpha"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "fragrance_get",
            "description": "Get the full profile for a single fragrance by UUID or slug (e.g. 'tom-ford/oud-wood'). Returns notes pyramid, accords, FOTW classification, perfumer, community score, and more.\n\nSee also: `fragrance_similar` for fragrances with similar accord profiles · `fragrance_get_reviews` for community reviews · `fragrance_get_wearing_stats` for when people wear it.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "id": {
                  "description": "Fragrance UUID",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "slug": {
                  "description": "'brand-slug/fragrance-slug', e.g. 'tom-ford/oud-wood'",
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "fragrance_get_reviews",
            "description": "Get paginated community reviews for a fragrance. Sort by helpfulness, recency, or score.\n\nSee also: `fragrance_get` for the fragrance's full profile · `fragrance_get_wearing_stats` for aggregate wearing data.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "cursor": {
                  "type": "string"
                },
                "id": {
                  "description": "Fragrance UUID",
                  "type": "string"
                },
                "limit": {
                  "default": 20,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "phase": {
                  "description": "Filter by drydown phase",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "sort": {
                  "default": "most_helpful",
                  "enum": [
                    "most_helpful",
                    "newest",
                    "highest",
                    "lowest"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "id",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "fragrance_get_wearing_stats",
            "description": "Aggregate wearing statistics for a fragrance — when people wear it, in what seasons, and mood tags. Free tier sees total check-ins only; Pro sees full breakdowns.\n\nSee also: `fragrance_get` for full profile · `fragrance_similar` for alternatives with similar profiles.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "id": {
                  "description": "Fragrance UUID",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "id",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "brand_get",
            "description": "Get a brand profile (name, country, founded, description) and its top fragrances. Use the brand slug, e.g. 'maison-francis-kurkdjian'.\n\nSee also: `fragrance_search` with the `brand` filter to get the full paginated catalogue for this brand · `perfumer_get` if the brand has a known house perfumer.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "slug": {
                  "description": "Brand slug, e.g. 'maison-francis-kurkdjian'",
                  "type": "string"
                }
              },
              "required": [
                "slug",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "perfumer_get",
            "description": "Get a perfumer's profile (bio, country, house affiliation) and their top fragrances by community score.\n\nSee also: `fragrance_search` to find more fragrances by this perfumer · `brand_get` if you want the brand they work for.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "slug": {
                  "description": "Perfumer slug, e.g. 'francis-kurkdjian', 'jacques-polge'",
                  "type": "string"
                }
              },
              "required": [
                "slug",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "note_explore",
            "description": "Get a note's profile (family, description, origin, extraction method) and top fragrances featuring it, sorted by community score. Use the note slug, e.g. 'oud', 'bergamot', 'iris'.\n\nSee also: `notes_list` to browse all notes by family/popularity · `fragrance_search` with the `note` filter to find fragrances featuring this note.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "note": {
                  "description": "Note slug, e.g. 'oud', 'iris', 'ambroxan', 'bergamot'",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "note",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "fragrance_compare",
            "description": "Compare two fragrances head-to-head — shared vs. distinct notes/accords/families, community and critic scores, audience, and an AI-written synthesis (shared character, differences, who each suits). Public, cached 7 days per pair.\n\nSee also: `fragrance_get` for full profiles · `fragrance_similar` for alternatives.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "fragrance_a": {
                  "description": "First fragrance UUID",
                  "type": "string"
                },
                "fragrance_b": {
                  "description": "Second fragrance UUID (must differ from fragrance_a)",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "fragrance_a",
                "fragrance_b",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "fragrance_review_digest",
            "description": "Get a concise AI-generated digest summarizing a fragrance's community reviews — key themes, consensus, and standout opinions. Public, cached per fragrance.\n\nSee also: `fragrance_get_reviews` for individual reviews · `fragrance_get` for full profile.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "id": {
                  "description": "Fragrance UUID to get the review digest for",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "id",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "search",
            "description": "Universal search across all Noteboxd entities — fragrances, brands, notes, perfumers, and collections — in a single call. Best for quick lookups and vague queries.\n\nExamples:\n- \"Jacques Polge\" → returns the perfumer\n- \"oud\" → returns the note, plus top oud fragrances\n- \"Bleu\" → returns Bleu de Chanel, Bleu de Dior, etc.\n\nSee also: `fragrance_search` for advanced fragrance-only filtering (by note, decade, score, concentration) · `trending` for what's popular right now.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "query": {
                  "description": "Search query — searches across fragrances, brands, notes, perfumers, collections",
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "query",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "trending",
            "description": "What's trending on Noteboxd right now — top search queries, highest-rated fragrances, and most popular notes. No parameters needed.\n\nSee also: `charts_list` for full ranking leaderboards · `fragrance_search` to explore specific categories.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "fragrance_similar",
            "description": "Find fragrances with similar accord profiles to a given fragrance. Returns ranked alternatives based on shared accords and character.\n\nSee also: `fragrance_get` for the source fragrance's full profile · `fragrance_search` with note/accord filters for manual exploration.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "id": {
                  "description": "Fragrance UUID to find similar fragrances for",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "id",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "charts_list",
            "description": "List all available Noteboxd chart rankings (e.g. top-rated, trending, top by brand). Returns chart names and summary stats.\n\nSee also: `chart_get` with a chart slug to see the full leaderboard · `trending` for a quick snapshot of what's hot.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "chart_get",
            "description": "Get a specific chart leaderboard by slug (e.g. 'top-rated', 'trending', 'top-rated-brand-chanel'). Returns ranked fragrances with scores and movement.\n\nSee also: `charts_list` to see all available charts · `fragrance_get` for the full profile of any fragrance on the chart.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "slug": {
                  "description": "Chart slug, e.g. 'top-rated', 'trending', 'top-rated-brand-chanel'",
                  "type": "string"
                }
              },
              "required": [
                "slug",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "notes_list",
            "description": "Browse fragrance notes — filter by family (e.g. 'woody', 'floral', 'citrus') and sort by popularity or name. Returns note names, families, colours, and fragrance counts.\n\nSee also: `note_explore` for a single note's full profile and top fragrances · `fragrance_search` with the `note` filter to find fragrances featuring a specific note.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "family": {
                  "description": "Filter by note family, e.g. 'woody', 'floral', 'citrus', 'oriental'",
                  "type": "string"
                },
                "limit": {
                  "default": 20,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "sort": {
                  "default": "popular",
                  "enum": [
                    "popular",
                    "alpha"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "ai_recommend",
            "description": "Get personalized fragrance recommendations based on your taste profile. Optional natural-language prompt to guide results (e.g. 'something fresh for summer'). Requires Pro.\n\nSee also: `ai_wear_today` for what to wear right now · `user_get_cabinet` for your collection.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "limit": {
                  "default": 12,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "description": "Optional natural-language guidance, e.g. 'fresh for summer office'",
                  "maxLength": 200,
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "ai_wear_today",
            "description": "What should I wear today? Picks from your owned cabinet (CURRENT status only) based on optional prompt/weather. Returns nothing if your cabinet is empty. Requires Pro.\n\nSee also: `ai_recommend` for discovery beyond your cabinet · `user_get_cabinet` for your full collection.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "prompt": {
                  "description": "Optional mood/occasion, e.g. 'dinner date'",
                  "maxLength": 200,
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "weather": {
                  "description": "Optional weather context, e.g. 'hot and humid'",
                  "maxLength": 200,
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "ai_collection",
            "description": "Generate a curated fragrance collection from a natural-language prompt (e.g. 'office-safe designer scents under $100', 'niche oud masterpieces'). Returns 5–25 grounded picks with rationale. Requires Pro.\n\nSee also: `ai_recommend` for personalized picks · `fragrance_search` for manual filtering.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "prompt": {
                  "description": "What kind of collection to create, e.g. 'niche oud masterpieces'",
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "size": {
                  "default": 10,
                  "maximum": 25,
                  "minimum": 5,
                  "type": "integer"
                }
              },
              "required": [
                "prompt",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_get_cabinet",
            "description": "Get your fragrance cabinet — fragrances you own, have tried, or finished. Requires a Pro account.\n\nSee also: `fragrance_get` for full details on any fragrance in your cabinet · `fragrance_similar` to find alternatives to your favourites · `user_get_wishlist` for fragrances you want to try.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "cursor": {
                  "type": "string"
                },
                "limit": {
                  "default": 30,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "sort": {
                  "default": "recent",
                  "enum": [
                    "recent",
                    "score",
                    "alpha"
                  ],
                  "type": "string"
                },
                "status": {
                  "default": "all",
                  "enum": [
                    "CURRENT",
                    "TRIED",
                    "FINISHED",
                    "all"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_get_wishlist",
            "description": "Get your fragrance wishlist. Requires a Pro account.\n\nSee also: `fragrance_get` for full details on any wishlist fragrance · `user_get_cabinet` for fragrances you already own.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "cursor": {
                  "type": "string"
                },
                "limit": {
                  "default": 30,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_get_collections",
            "description": "Get your collections (fragrance lists). Optionally pass a collectionId to see its items. Requires a Pro account.\n\nSee also: `fragrance_get` for full details on any fragrance in a collection.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "collectionId": {
                  "description": "If given, return items in this collection",
                  "type": "string"
                },
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_get_reviews",
            "description": "Get reviews you've written, or reviews you found helpful. Requires a Pro account.\n\nSee also: `fragrance_get_reviews` for community reviews on a specific fragrance.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "cursor": {
                  "type": "string"
                },
                "kind": {
                  "default": "written",
                  "enum": [
                    "written",
                    "helpful"
                  ],
                  "type": "string"
                },
                "limit": {
                  "default": 20,
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_get_wearing_history",
            "description": "Get your wearing check-in history over time. Requires a Pro account.\n\nSee also: `fragrance_get_wearing_stats` for aggregate community wearing data on a specific fragrance.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "cursor": {
                  "type": "string"
                },
                "limit": {
                  "default": 30,
                  "maximum": 90,
                  "minimum": 1,
                  "type": "integer"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "since": {
                  "description": "ISO date lower bound",
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_taste_public",
            "description": "Get a user's public taste profile — their top notes, accords, and families derived from their collection and reviews. No LLM call, deterministic.\n\nSee also: `user_taste_compare` for compatibility between two users.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "username": {
                  "description": "Username (handle) of the user to view",
                  "type": "string"
                }
              },
              "required": [
                "username",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_taste_summary",
            "description": "Get your AI-generated taste profile summary — a natural-language description of your fragrance preferences based on your cabinet, reviews, and likes. Requires Pro.\n\nSee also: `user_taste_public` for the deterministic breakdown · `user_taste_compare` for compatibility.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "user_taste_compare",
            "description": "Compare your taste with another user — compatibility score, shared and divergent notes/accords/families, and an optional AI overview. Requires Pro for the overview.\n\nSee also: `user_taste_public` for a user's top preferences · `user_taste_summary` for your own summary.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {
                "context": {
                  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
                  "type": "string"
                },
                "response_format": {
                  "default": "markdown",
                  "enum": [
                    "markdown",
                    "json"
                  ],
                  "type": "string"
                },
                "target_user_id": {
                  "description": "User ID to compare your taste with",
                  "type": "string"
                },
                "with_overview": {
                  "default": true,
                  "description": "Include AI-generated overview (requires Pro)",
                  "type": "boolean"
                }
              },
              "required": [
                "target_user_id",
                "context"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          }
        ]
      },
      "name": "Fragrance \u0026 Perfume MCP (Noteboxd)",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "@noteboxd/mcp",
          "version": "0.1.4",
          "transport": "stdio"
        }
      ],
      "pageJsonUrl": "https://www.anchorterminal.com/tools/noteboxd-mcp.json",
      "popularity": {
        "githubStars": 1,
        "npmWeekly": 59
      },
      "registryName": "com.noteboxd/mcp",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://mcp.noteboxd.com/mcp"
        }
      ],
      "repository": "https://github.com/noteboxd/mcp",
      "reviewed": false,
      "slug": "noteboxd-mcp",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.noteboxd/mcp",
      "summary": "Fragrance \u0026 perfume MCP: search fragrances, notes, accords, brands, perfumers, reviews \u0026 charts.",
      "updatedAt": "2026-07-31T16:14:50Z",
      "url": "https://www.anchorterminal.com/tools/noteboxd-mcp",
      "vendor": "noteboxd.com",
      "vendorUrl": "https://noteboxd.com",
      "version": "0.1.4",
      "websiteUrl": "",
      "where": "both",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/noteboxd-mcp",
    "json": "https://www.anchorterminal.com/tools/noteboxd-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/noteboxd-mcp.md",
    "slim": "https://www.anchorterminal.com/tools/noteboxd-mcp.min.md"
  },
  "markdown": "# Fragrance \u0026 Perfume MCP (Noteboxd)\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by noteboxd.com (https://noteboxd.com)\n- Category: Work \u0026 productivity (https://www.anchorterminal.com/categories/productivity.md)\n- Listed because: It's published in the registry under noteboxd.com, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Fragrance \u0026 perfume MCP: search fragrances, notes, accords, brands, perfumers, reviews \u0026 charts.\n\n## Facts\n\n- MCP registry: `com.noteboxd/mcp` 0.1.4\n- Endpoint: https://mcp.noteboxd.com/mcp (streamable HTTP)\n- Package: npm `@noteboxd/mcp` (stdio)\n- Source: https://github.com/noteboxd/mcp\n- npm downloads a week: 59\n- GitHub stars: 1\n- Registry entry updated: 2026-07-31\n\n## Tools\n\n- Tools it lists (27, about 9,675 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:23 UTC):\n  - `noteboxd_open` (read-only): Open the Noteboxd app UI in ChatGPT. Call with no arguments to show the home screen (trending fragrances), with `query` to run a fragrance search inside the…\n  - `fragrance_search` (read-only): Search and filter the Noteboxd fragrance encyclopedia. Requires a query or at least one filter — the full catalogue cannot be listed. Tip: The `q` parameter…\n  - `fragrance_get` (read-only): Get the full profile for a single fragrance by UUID or slug (e.g. 'tom-ford/oud-wood'). Returns notes pyramid, accords, FOTW classification, perfumer,…\n  - `fragrance_get_reviews` (read-only): Get paginated community reviews for a fragrance. Sort by helpfulness, recency, or score. See also: `fragrance_get` for the fragrance's full profile ·…\n  - `fragrance_get_wearing_stats` (read-only): Aggregate wearing statistics for a fragrance — when people wear it, in what seasons, and mood tags. Free tier sees total check-ins only; Pro sees full…\n  - `brand_get` (read-only): Get a brand profile (name, country, founded, description) and its top fragrances. Use the brand slug, e.g. 'maison-francis-kurkdjian'. See also:…\n  - `perfumer_get` (read-only): Get a perfumer's profile (bio, country, house affiliation) and their top fragrances by community score. See also: `fragrance_search` to find more fragrances by…\n  - `note_explore` (read-only): Get a note's profile (family, description, origin, extraction method) and top fragrances featuring it, sorted by community score. Use the note slug, e.g.…\n  - `fragrance_compare` (read-only): Compare two fragrances head-to-head — shared vs. distinct notes/accords/families, community and critic scores, audience, and an AI-written synthesis (shared…\n  - `fragrance_review_digest` (read-only): Get a concise AI-generated digest summarizing a fragrance's community reviews — key themes, consensus, and standout opinions. Public, cached per fragrance. See…\n  - `search` (read-only): Universal search across all Noteboxd entities — fragrances, brands, notes, perfumers, and collections — in a single call. Best for quick lookups and vague…\n  - `trending` (read-only): What's trending on Noteboxd right now — top search queries, highest-rated fragrances, and most popular notes. No parameters needed. See also: `charts_list` for…\n  - `fragrance_similar` (read-only): Find fragrances with similar accord profiles to a given fragrance. Returns ranked alternatives based on shared accords and character. See also: `fragrance_get`…\n  - `charts_list` (read-only): List all available Noteboxd chart rankings (e.g. top-rated, trending, top by brand). Returns chart names and summary stats. See also: `chart_get` with a chart…\n  - `chart_get` (read-only): Get a specific chart leaderboard by slug (e.g. 'top-rated', 'trending', 'top-rated-brand-chanel'). Returns ranked fragrances with scores and movement. See…\n  - `notes_list` (read-only): Browse fragrance notes — filter by family (e.g. 'woody', 'floral', 'citrus') and sort by popularity or name. Returns note names, families, colours, and…\n  - `ai_recommend` (read-only): Get personalized fragrance recommendations based on your taste profile. Optional natural-language prompt to guide results (e.g. 'something fresh for summer').…\n  - `ai_wear_today` (read-only): What should I wear today? Picks from your owned cabinet (CURRENT status only) based on optional prompt/weather. Returns nothing if your cabinet is empty.…\n  - `ai_collection` (read-only): Generate a curated fragrance collection from a natural-language prompt (e.g. 'office-safe designer scents under $100', 'niche oud masterpieces'). Returns 5–25…\n  - `user_get_cabinet` (read-only): Get your fragrance cabinet — fragrances you own, have tried, or finished. Requires a Pro account. See also: `fragrance_get` for full details on any fragrance…\n  - `user_get_wishlist` (read-only): Get your fragrance wishlist. Requires a Pro account. See also: `fragrance_get` for full details on any wishlist fragrance · `user_get_cabinet` for fragrances…\n  - `user_get_collections` (read-only): Get your collections (fragrance lists). Optionally pass a collectionId to see its items. Requires a Pro account. See also: `fragrance_get` for full details on…\n  - `user_get_reviews` (read-only): Get reviews you've written, or reviews you found helpful. Requires a Pro account. See also: `fragrance_get_reviews` for community reviews on a specific…\n  - `user_get_wearing_history` (read-only): Get your wearing check-in history over time. Requires a Pro account. See also: `fragrance_get_wearing_stats` for aggregate community wearing data on a specific…\n  - `user_taste_public` (read-only): Get a user's public taste profile — their top notes, accords, and families derived from their collection and reviews. No LLM call, deterministic. See also:…\n  - `user_taste_summary` (read-only): Get your AI-generated taste profile summary — a natural-language description of your fragrance preferences based on your cabinet, reviews, and likes. Requires…\n  - `user_taste_compare` (read-only): Compare your taste with another user — compatibility score, shared and divergent notes/accords/families, and an optional AI overview. Requires Pro for the…\n- How its tools read to an agent (0 errors, 26 warnings, 1 note, about 9,675 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC11 ai_collection: 2 parameters without a description: response_format, size\n  - warn TC11 ai_recommend: 2 parameters without a description: limit, response_format\n  - warn TC11 ai_wear_today: 1 parameter without a description: response_format\n  - warn TC11 brand_get: 1 parameter without a description: response_format\n  - warn TC11 chart_get: 1 parameter without a description: response_format\n  - warn TC11 charts_list: 1 parameter without a description: response_format\n  - warn TC11 fragrance_compare: 1 parameter without a description: response_format\n  - warn TC11 fragrance_get: 1 parameter without a description: response_format\n  - warn TC11 fragrance_get_reviews: 4 parameters without a description: cursor, limit, response_format, sort\n  - warn TC11 fragrance_get_wearing_stats: 1 parameter without a description: response_format\n  - warn TC11 fragrance_review_digest: 1 parameter without a description: response_format\n  - warn TC11 fragrance_search: 7 parameters without a description: concentration, cursor, decade, gender, limit, response_format and 1 more\n  - warn TC11 fragrance_similar: 1 parameter without a description: response_format\n  - warn TC11 note_explore: 1 parameter without a description: response_format\n  - warn TC11 notes_list: 3 parameters without a description: limit, response_format, sort\n  - warn TC11 perfumer_get: 1 parameter without a description: response_format\n  - warn TC11 search: 1 parameter without a description: response_format\n  - warn TC11 trending: 1 parameter without a description: response_format\n  - warn TC11 user_get_cabinet: 5 parameters without a description: cursor, limit, response_format, sort, status\n  - warn TC11 user_get_collections: 1 parameter without a description: response_format\n  - warn TC11 user_get_reviews: 4 parameters without a description: cursor, kind, limit, response_format\n  - warn TC11 user_get_wearing_history: 3 parameters without a description: cursor, limit, response_format\n  - warn TC11 user_get_wishlist: 3 parameters without a description: cursor, limit, response_format\n  - warn TC11 user_taste_compare: 1 parameter without a description: response_format\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/noteboxd-mcp.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "Fragrance \u0026 Perfume MCP (Noteboxd)",
        "url": ""
      }
    ],
    "description": "Fragrance \u0026 Perfume MCP (Noteboxd), an MCP server by noteboxd.com, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Fragrance \u0026 perfume MCP: search fragrances, notes, accords, brands, perfumers, reviews \u0026 charts.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "Fragrance \u0026 Perfume MCP (Noteboxd)",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/noteboxd-mcp",
    "published": "",
    "section": "indexed",
    "title": "Fragrance \u0026 Perfume MCP (Noteboxd) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/tools/noteboxd-mcp"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 2330
  },
  "version": 1
}
