# WizerAPI Review Intelligence

> Analyze customer reviews: sentiment, emotion, topics, themes, digests, and drafted replies.

- name: com.wizerapi/review-intelligence
- version: 1.0.0
- connection class: R1 (autonomous)
- trust: 82/100
- quality: 73/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.wizerapi%2Freview-intelligence
- tools: https://api.protogrid.dev/v1/servers/com.wizerapi%2Freview-intelligence/tools

**An agent can connect on its own if it already holds `REVIEW_INTELLIGENCE_TOKEN`.** Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "review-intelligence": {
      "type": "http",
      "url": "https://mcp.wizerapi.com/reviews",
      "headers": {
        "Authorization": "Bearer ${REVIEW_INTELLIGENCE_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${REVIEW_INTELLIGENCE_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 79
- freshness: 65
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-47% ~updated-95d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 73/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: check_usage (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); analyze_review (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); summarize_reviews (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,015 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 2 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,015 tokens to load them all
- tool set hash: f769effc99222043bc0b570bc58198f6
- badge: [![protogrid quality](https://protogrid.dev/badge/com.wizerapi/review-intelligence.svg)](https://protogrid.dev/servers/com.wizerapi/review-intelligence)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.wizerapi.com/reviews (streamable-http, auth api_key ${REVIEW_INTELLIGENCE_TOKEN}, reachable true, uptime30d 0.47368422)

## Packages

_none_

## Tools (5)

- `analyze_review`: Analyze ONE customer review and get structured JSON: sentiment (score -1..1, label, confidence), dominant emotion, topics, detected language, and optionally a suggested reply (set options.suggest_reply, pick options.reply_tone: professional | friendly | apologetic | concise). Input: review text up to 10,000 chars, optional 0-5 rating and source. METERED: costs 1 AU + 1 AU per 4,000 input chars (a 300-char review ≈ 1.08 AU); byte-identical repeat input is served from cache for 0 AU. Every result reports its au_cost. For many reviews, prefer extract_themes/summarize_reviews over looping this tool one review at a time.
- `check_usage`: Check the current billing period usage for YOUR WizerAPI organization: plan, included AU, used AU, remaining AU, overage so far, and the per-minute rate limit. Costs 0 AU and is never blocked by the session budget. Call this BEFORE large metered jobs (theme extraction over many reviews, long contracts) to confirm quota headroom, and AFTER quota errors to see where you stand.
- `draft_reply`: Draft a customer-facing reply to ONE review in a chosen tone (professional | friendly | apologetic | concise, default professional). Input: review text up to 10,000 chars, optional 0-5 rating for context. Returns the reply text and tone. METERED: costs 1 AU + 1 AU per 4,000 input chars (~1 AU for a short review). Every result reports its au_cost. If you also need sentiment/topics for the same review, call analyze_review with options.suggest_reply instead of calling both tools.
- `extract_themes`: Cluster a SET of reviews into recurring themes, each with a label, frequency, theme sentiment, and example quotes. Input: 1-1,000 review strings, each up to 2,000 chars; optional max_themes (1-50, default 8). Use this ONE call instead of looping analyze_review when you need patterns across many reviews. METERED: costs 4 AU + 1 AU per 1,250 total input chars (100 reviews × 300 chars ≈ 28 AU) — check_usage first for large sets. Every result reports its au_cost.
- `summarize_reviews`: Produce an executive digest of a review SET: headline, highlights, lowlights, and recommended actions. Input: 1-1,000 review strings, each up to 2,000 chars; optional audience (default "product_team") to slant the writeup. Use for leadership-ready takeaways; use extract_themes when you need per-theme frequencies instead. METERED: costs 6 AU + 1 AU per 1,250 total input chars (50 reviews × 300 chars ≈ 18 AU) — check_usage first for large sets. Every result reports its au_cost.
