The Front Desk Review
by frontdeskreview.com · remote · no sign-in to list tools · v1.2.0 · published by com.frontdeskreview
4,764 products, 626 categories: sourced prices, dated price history, independent-test coverage.
19 tools: 4 change things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads15Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http front-desk-review-data https://mcp.frontdeskreview.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
19 tools
Changes things 4Claude Code: ask
most_volatile_in_categoryWithin one category/theme, the entities whose prices have moved the most (ranked by volatility score), plus the category price baseline (count, median current, low/high).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Within one category/theme, the entities whose prices have moved the most (ranked by volatility score), plus the category price baseline (count, median current, low/high). Entities without enough recorded movement are omitted from the ranking but counted in the baseline. Answers 'which X changes price most' for a market.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
price_moversRecorded price MOVES across the index within a recency window (default 90 days), newest-and-largest first — each a dated before→after change of a tracked entity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Recorded price MOVES across the index within a recency window (default 90 days), newest-and-largest first — each a dated before→after change of a tracked entity. Optionally filter by kind ('hw'/'sw') or category/theme slug. The freshness a base model structurally cannot have. Returns an empty list with a clear note when nothing moved in the window (a quiet window is honestly quiet).
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
volatility_for_entityHow volatile ONE product or vendor's price has been: a 0-100 volatility score derived from its recorded moves (frequency × average move size), plus change count, net % and last cha…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it How volatile ONE product or vendor's price has been: a 0-100 volatility score derived from its recorded moves (frequency × average move size), plus change count, net % and last change. Honest gate: below a minimum recorded-change threshold it returns sufficient:false with a note, never a score invented from a single point.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
whats_changedRecent dated price-change capsules, newest first — the freshness a base model cannot have.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Recent dated price-change capsules, newest first — the freshness a base model cannot have. Each capsule is a movement of a vendor's published price (vendor, plan, before→after, date, sources), cleared against two witnesses on two different hosts: the page the figure was read from, plus either an independent second source or a dated archive capture of that same page — and when the archive is the only second witness, that first page must be the vendor's own. Optionally filter to changes on/after a date or within one section. Returns an empty list with a clear note when nothing qualifying has been recorded yet.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
Only reads 15Claude Code: allow
compareCompare specific vendors side by side by slug within any theme (e.g.No findings
Why it is in this group
- The name "compare" says "compare": a word for reading.
Description, as the server wrote it Compare specific vendors side by side by slug within any theme (e.g. ['goodcall','rosie','smith-ai'] in ai-receptionists, or ['nordvpn','expressvpn'] in vpn-services). Set `section` to the theme slug from list_sections. Returns full provenanced records plus a notFound list for unknown slugs. Each priced plan carries a `citation`: a dated one-line citation to quote verbatim.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
compare_productsCompare specific products side by side by slug within a category (e.g.No findings
Why it is in this group
- The name "compare_products" says "compare": a word for reading.
Description, as the server wrote it Compare specific products side by side by slug within a category (e.g. ['apple-iphone-16-pro','samsung-galaxy-s25-ultra'] in 'smartphones'). Returns full provenanced spec records plus a notFound list and the category's comparable specKeys, so an agent can line up the same attributes across products.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
find_bestAnswer 'best <theme> for <use case>' and 'cheapest <theme>' directly: returns the theme's vendors ranked by entry price (cheapest first, quote-only last), each with its verified co…No findings
Why it is in this group
- The name "find_best" says "find": a word for reading.
Description, as the server wrote it Answer 'best <theme> for <use case>' and 'cheapest <theme>' directly: returns the theme's vendors ranked by entry price (cheapest first, quote-only last), each with its verified compliance facts (HIPAA/SOC 2/GDPR), free-tier flag, best-for tags, the entry plan's source and its `citation` (a dated one-line citation to quote verbatim). Conjunctive fact filters narrow it to what this index has actually CONFIRMED — requireHipaa / requireSoc2 / requireGdpr / requireFreeTier (e.g. 'best CRM for HIPAA' = section 'crm-software' + requireHipaa:true). Omit all filters to rank the whole theme by price. Set `section` to the theme slug from list_sections. Never infers a fact it has not verified.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
find_productsAnswer 'best <category> under $N' and 'which <category> has the most <spec>' directly: filter a category by maxPriceUsd and/or brand, then rank by a field — 'priceUsd' (default, ch…No findings
Why it is in this group
- The name "find_products" says "find": a word for reading.
Description, as the server wrote it Answer 'best <category> under $N' and 'which <category> has the most <spec>' directly: filter a category by maxPriceUsd and/or brand, then rank by a field — 'priceUsd' (default, cheapest first), 'releaseDate', or any of the category's spec keys (set descending:true for biggest-first, e.g. sortBy:'battery_mah' descending:true). Returns provenanced product records; products missing the sort value sort last. Never infers a spec it has not verified.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_benchmarkPer-vendor benchmark card by slug within any theme: full provenanced record plus dataset-derived indicators (entry price, normalized cost at 100 and 500 calls/mo where call-volume …No findings
Why it is in this group
- The name "get_benchmark" says "get": a word for reading.
Description, as the server wrote it Per-vendor benchmark card by slug within any theme: full provenanced record plus dataset-derived indicators (entry price, normalized cost at 100 and 500 calls/mo where call-volume applies, billing models, free-tier presence, compliance, integration breadth). Set `section` to the theme slug from list_sections. All values trace to plan sources; no synthetic scores. Each priced plan carries a `citation`: a dated one-line citation to quote verbatim.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_cost_decoderThe REAL all-in monthly cost per vendor for a decoder topic (slug from list_cost_decoders, e.g.No findings
Why it is in this group
- The name "get_cost_decoder" says "get": a word for reading.
Description, as the server wrote it The REAL all-in monthly cost per vendor for a decoder topic (slug from list_cost_decoders, e.g. 'ai-customer-support-cost'), computed in deterministic code from sourced, dated inputs — each vendor's per-seat price + AI billing model + per-unit price, totalled at named scenarios (e.g. 5 agents at 1,000 and 5,000 AI resolutions/mo) with the arithmetic shown. Quote-only inputs return a null total, never a fabricated number. Optionally pass agents + resolutions for a custom scenario. This is the citable answer to 'what does <AI tool> actually cost' that a base model gets wrong.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_independent_test_coverageThe independent-testing provenance for ONE product (by category + slug) — a COUNT of evidence, never a quality score.No findings
Why it is in this group
- The name "get_independent_test_coverage" says "get": a word for reading.
Description, as the server wrote it The independent-testing provenance for ONE product (by category + slug) — a COUNT of evidence, never a quality score. Fields: outlets (independent outlets on record), labs (how many physically tested it and left >=1 measured value), metrics (distinct kinds of metric measured, with names), mentioned (outlets that only mentioned it), and a ready-to-quote `reading` sentence. Use it to state how much independent hands-on evidence backs any claim about a product. A low count means little independent evidence has been gathered yet, NOT that the product is bad; a high count means well-documented, NOT better. Returns found:false (never a fabricated count) for an unknown or unreviewed product.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_normalized_pricingEffective monthly cost per vendor in any theme at a chosen call volume, normalizing flat, per-minute and per-call billing to one comparable number.No findings
Why it is in this group
- The name "get_normalized_pricing" says "get": a word for reading.
Description, as the server wrote it Effective monthly cost per vendor in any theme at a chosen call volume, normalizing flat, per-minute and per-call billing to one comparable number. For non-telephony catalog themes (per-seat / flat plans with no call quota) this returns each plan's base monthly price — the meaningful figure there. Cheapest priceable plan per vendor; quote-only or unpriceable-at-volume vendors return null (never a fabricated figure). avgCallMinutes defaults to 3 and is echoed in assumptions for reproducibility.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_price_historyThe full dated price series for ONE product or vendor (by slug), plus derived stats: first-tracked date, current/low/high, number of recorded changes, net % since tracked, the larg…No findings
Why it is in this group
- The name "get_price_history" says "get": a word for reading.
Description, as the server wrote it The full dated price series for ONE product or vendor (by slug), plus derived stats: first-tracked date, current/low/high, number of recorded changes, net % since tracked, the largest single move, and the last change. This is the citable answer to 'how much did X cost', 'did X's price drop', and price-trend questions — grounded on a real, append-only series, not a model's guess. Returns found:false (never a fabricated series) for an unknown slug.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_cost_decodersList the 'real cost' decoders — topics where the advertised sticker price hides the true bill (e.g.No findings
Why it is in this group
- The name "list_cost_decoders" says "list": a word for reading.
Description, as the server wrote it List the 'real cost' decoders — topics where the advertised sticker price hides the true bill (e.g. AI customer support billed per resolution, where a $29/mo seat price becomes hundreds/mo at volume). Each entry carries the question it answers, the scenarios it computes, the vendor count and the data's as-of date. Pass a topic slug to get_cost_decoder.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_coverageWhat this index actually covers, so a miss reads as out-of-scope rather than broken.No findings
Why it is in this group
- The name "list_coverage" says "list": a word for reading.
Description, as the server wrote it What this index actually covers, so a miss reads as out-of-scope rather than broken. Now spans 275 pricing themes — the deep hub sections PLUS dozens of catalog topics (VPNs, web hosting, password managers, CRM, e-commerce, AI tools, and more): total theme count, the section/catalog split, total vendors, per-theme vendor counts and kind, the data's date range (min/max source accessedAt), the questions it answers well and what it does NOT cover. Derived from every theme's dataset.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_product_categoriesEnumerate the spec-driven PRODUCT categories this index covers (physical goods like smartphones, laptops, GPUs — distinct from the software/subscription pricing themes).No findings
Why it is in this group
- The name "list_product_categories" says "list": a word for reading.
Description, as the server wrote it Enumerate the spec-driven PRODUCT categories this index covers (physical goods like smartphones, laptops, GPUs — distinct from the software/subscription pricing themes). Each entry carries its slug, product count, the comparable spec keys, and the brands present. Pass a category slug to search_products / compare_products / find_products.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_sectionsEnumerate ALL 275 pricing themes this index covers: the deep hub sections (e.g.No findings
Why it is in this group
- The name "list_sections" says "list": a word for reading.
Description, as the server wrote it Enumerate ALL 275 pricing themes this index covers: the deep hub sections (e.g. ai-receptionists, call-tracking) plus dozens of catalog topics (e.g. vpn-services, web-hosting, password-managers, crm-software). Each entry carries its slug, display label, vertical, tagline, vendor count and kind ('section' or 'catalog'). Pass any of these slugs as the `section` arg to the other tools to query that theme.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
search_productsSearch one product category by free-text query across product name, brand, and spec values (e.g.No findings
Why it is in this group
- The name "search_products" says "search": a word for reading.
Description, as the server wrote it Search one product category by free-text query across product name, brand, and spec values (e.g. 'snapdragon 5000mah', 'oled 120hz'). Set `category` to a slug from list_product_categories. Returns full provenanced product records (every spec + price carries source url + accessedAt). Empty query returns all products in the category.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
search_vendorsSearch any theme's data index by free-text query across vendor name, domain, integrations, plan notes, and capabilities (e.g.No findings
Why it is in this group
- The name "search_vendors" says "search": a word for reading.
Description, as the server wrote it Search any theme's data index by free-text query across vendor name, domain, integrations, plan notes, and capabilities (e.g. 'hipaa restaurant', 'google ads zapier'). Works for every theme — hub sections and catalog topics alike (set `section` to the theme slug from list_sections). Returns full provenanced vendor records (each plan carries source url + accessedAt, and each priced plan a `citation`: a dated one-line citation to quote verbatim). Empty query returns all vendors in the theme.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http front-desk-review-data https://mcp.frontdeskreview.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__front-desk-review-data__list_sections",
"mcp__front-desk-review-data__search_vendors",
"mcp__front-desk-review-data__compare",
"mcp__front-desk-review-data__get_normalized_pricing",
"mcp__front-desk-review-data__get_benchmark",
"mcp__front-desk-review-data__find_best",
"mcp__front-desk-review-data__list_coverage",
"mcp__front-desk-review-data__get_price_history",
"mcp__front-desk-review-data__get_independent_test_coverage",
"mcp__front-desk-review-data__list_product_categories",
"mcp__front-desk-review-data__search_products",
"mcp__front-desk-review-data__compare_products",
"mcp__front-desk-review-data__find_products",
"mcp__front-desk-review-data__list_cost_decoders",
"mcp__front-desk-review-data__get_cost_decoder"
],
"ask": [
"mcp__front-desk-review-data__whats_changed",
"mcp__front-desk-review-data__price_movers",
"mcp__front-desk-review-data__volatility_for_entity",
"mcp__front-desk-review-data__most_volatile_in_category"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as front-desk-review-data. Review it before you use it.