Skip to main content
Glama

Server Details

Read Google reviews and stats, draft AI replies, publish the ones you approve, request reviews.

Ownership verified
Status
Healthy
Uptime
99.9% over 66 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
reputemap-com/mcp
GitHub Stars
0
Server Listing
ReputeMap MCP

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: draft_reply vs publish_reply are explicitly separated (private draft vs public publish), and read tools (list_reviews, list_locations, get_review_stats, get_usage) target different resources. No two tools could be reasonably confused.

Naming Consistency5/5

All seven tools follow a strict verb_noun snake_case pattern (draft_reply, get_review_stats, get_usage, list_locations, list_reviews, publish_reply, send_review_request). Verbs are used consistently for their action type (get_/list_ for reads).

Tool Count5/5

Seven tools is well-scoped for a reputation-management server, and each tool maps to a distinct step in the review workflow. Nothing feels padded or missing in count.

Completeness4/5

The core lifecycle is covered: discover locations, list/filter reviews, view stats, draft replies, publish replies, and request new reviews, plus usage tracking. Minor gaps exist (no tool to edit/delete a saved draft or fetch a single review's full detail), but these are workable around the app editor.

Available Tools

7 tools
draft_replyDraft reply variantsA
Destructive
Inspect

Generate 2-3 reply drafts for one review using ReputeMap's tuned generator (the same one the app uses, with the business's saved voice and sign-off), and save the draft so it appears in the app's editor. NEVER publishes anything - drafts only.

ParametersJSON Schema
NameRequiredDescriptionDefault
review_idYesUUID from list_reviews
instructionsNooptional one-off guidance for this draft, e.g. 'mention the new units' or 'keep it under 40 words'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and readOnlyHint=false, and the description adds genuinely non-obvious context: the same tuned generator the app uses, the business's saved voice and sign-off, and that the draft is persisted into the app editor. It does not clarify whether an existing draft is overwritten (which is what the destructive hint likely refers to) or whether repeated calls regenerate variants.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both load-bearing, with the primary action and its persistence effect front-loaded and the safety guarantee last. No filler or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers action, persistence destination, and the no-publish guarantee for a two-parameter mutation tool with no output schema. The remaining gap is what the caller receives back and whether an existing draft is replaced, which matters given destructiveHint=true.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so review_id's provenance ('UUID from list_reviews') and instructions' format and 300-char cap are already documented in the schema. The description adds only that drafting is scoped to 'one review', which is a baseline contribution when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (generate), resource (reply drafts), and scope (one review), plus where the result goes ('appears in the app's editor'). It is immediately distinguishable from publish_reply by the explicit 'drafts only' clause.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'NEVER publishes anything - drafts only' line clearly establishes this as the pre-publish step, which routes the agent away from publish_reply. It stops short of naming publish_reply as the follow-up tool, so the when-to-use guidance is clear but not fully explicit about the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_review_statsGet review statsA
Read-onlyIdempotent
Inspect

Review stats per location and org totals: review counts, average rating, 1-5 star breakdown, unanswered count, and activity in the trailing window (default 30 days).

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
location_idNoUUID from list_locations; omit for all locations

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile needs no restatement. The description adds genuine context: the metrics returned, per-location plus org-total scoping, and the trailing-window semantics with a 30-day default. It does not mention auth requirements, rate limits, or how zero-activity locations are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that leads with the resource and scope, then enumerates metrics. Dense but no filler; the metric list and the window default are the only load-bearing clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, describing the returned metrics is exactly the right call, and annotations already cover the safety contract. For a two-parameter, read-only stats tool this is close to complete, missing only edge-case behavior (empty locations, window exceeding data history) and response shape granularity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: location_id is documented in the schema as 'omit for all locations' and days carries only a default and bounds. The description restates the 30-day default and clarifies that the window is trailing and that omission yields org totals, but it does not explain the 1-365 bounds, aggregation behavior, or what happens when days is set below the review window. Partial compensation, not full.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Review stats') and enumerates the exact metrics returned (counts, average rating, star breakdown, unanswered count, trailing-window activity), which implicitly separates it from list_reviews. It never names a sibling explicitly, so the distinction from get_usage or list_reviews is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the name and metric list, but there is no explicit guidance on when to call this versus list_reviews (raw records) or get_usage, and no prerequisites or exclusions are given. An agent can infer the aggregate-vs-list split, but nothing is spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usageGet API usageA
Read-onlyIdempotent
Inspect

Current month's API credit usage for this org (shared between the REST API and MCP tools).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description usefully adds that the credit pool is shared between the REST API and MCP tools, but says nothing about return shape or when the monthly counter resets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, though the parenthetical aside slightly interrupts the primary statement. Nothing wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only, no-argument tool whose annotations fully carry the safety profile, the description conveys what is measured and its scope. Absent an output schema, a hint about the returned value's form would round it out, but nothing required to invoke it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes no parameters, so there is nothing to document beyond the schema; the baseline for a zero-param tool applies. No param-related detail is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (current month's API credit usage) scoped to this org, which is readily distinguishable from the review/reply-oriented siblings. It is clear but does not name or contrast with any sibling, which is acceptable given the disjoint domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the name and the word 'Current month'; there is no explicit statement of when to call this or what alternatives exist. For a trivial zero-param read this is tolerable but still implicit rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_locationsList locationsA
Read-onlyIdempotent
Inspect

List every business location this ReputeMap org manages, with ids to use in the other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world (openWorldHint=false), so safety and scope are covered structurally. The description's only addition is the org-scoping ('this ReputeMap org manages') and that IDs are returned — useful but modest, with no mention of pagination or volume limits for a 'list every' operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the verb, scope, and return value are all delivered economically.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only listing tool with no output schema, the description adequately covers what the call does and roughly what it yields (locations plus IDs). It stops short of describing the returned fields or result size, which is a minor gap given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. Nothing in the description conflicts or is needed; the schema is trivially complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (business locations) with the scope of the org's managed locations. It is distinct from every sibling tool (reviews, stats, usage), though it doesn't explicitly contrast itself with them — no overlap exists to disambiguate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'with ids to use in the other tools' tells the agent why to call it: to obtain location IDs needed as input elsewhere. There is no stated when-not or alternative, but no competing sibling exists, so the context is clear rather than merely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_reviewsList reviewsA
Read-onlyIdempotent
Inspect

List Google reviews for the org (newest first) with the published reply text inlined. Filter by location, star-rating range, replied/unreplied, or a trailing day window. Google moderates owner replies: reply_state is approved, pending (Google is checking it) or rejected (not shown on Google - has_reply is false and reply_policy_violation says why; write a new reply).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
rating_maxNo
rating_minNo
since_daysNoonly reviews from the last N days
location_idNoUUID from list_locations; omit for all locations
unanswered_onlyNotrue = only reviews without an owner reply on Google (a reply Google rejected counts as none)

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply the read-only/idempotent safety profile, so the description carries the domain behavior and does it well: newest-first ordering, inlined published reply text, Google's moderation lifecycle (approved/pending/rejected), and the non-obvious coupling that a rejected reply yields has_reply=false with reply_policy_violation explaining why. That is real context an agent could not infer from the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose and filters before the denser moderation caveat. The final sentence packs a long parenthetical but every clause carries distinct information, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the work of describing return contents (reviews plus inlined reply text, reply_state, has_reply, reply_policy_violation), which is the important part. It omits pagination mechanics (limit max 50, offset) that a listing tool of this shape would benefit from mentioning.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 43%, and the description compensates for most of the gap by naming the four filter families that map to location_id, rating_min/rating_max, unanswered_only and since_days, clarifying that the two rating parameters form a range and that unanswered_only excludes Google-rejected replies. It says nothing about limit/offset, so it does not fully cover all seven parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List Google reviews for the org') plus ordering ('newest first') and an inlining behavior, so the agent knows exactly what comes back. It is implicitly distinct from get_review_stats and get_usage, but it never names a sibling to contrast against, which keeps it just short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description enumerates the available filters (location, star range, replied/unreplied, trailing day window), which implies when the tool is the right entry point, and its closing note points toward drafting a new reply after a rejection. It gives no explicit when-not guidance or routing to siblings like get_review_stats or list_locations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

publish_replyPublish reply to GoogleA
Destructive
Inspect

PUBLISH a reply to this review's public Google profile. This is a public, customer-visible action - call it ONLY when the user has explicitly approved this exact text (Google's policy: a person approves every reply; one call per approved reply, never in bulk). If Google refuses the request, the text is preserved in ReputeMap with a manual fallback (status 'manual_required') - words are never lost. Google also moderates replies: google_state 'pending' = it is checking the reply before showing it; status 'rejected_by_google' = it will not show it (policy_violation and detail say why) - write a different reply.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesthe exact reply text the user approved
review_idYesUUID from list_reviews

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (destructiveHint/openWorldHint) by describing real consequences: public customer-visible action, words never lost on refusal (status 'manual_required'), Google moderation states pending/rejected_by_google with policy_violation detail. Annotations only flag non-idempotent/destructive; description supplies the operational meaning.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the action and its caution; information dense but long with digitated status details. Every sentence carries an operational consequence, though it could be tightened slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, open-world, non-idempotent mutation with no output schema, the description covers prerequisites, approval policy, failure fallback, and moderation outcomes — everything an agent needs to invoke it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3; the description adds the crucial requirement that text must be the exact approved text and links review_id to list_reviews, giving modest extra guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (PUBLISH) and resource (a reply to this review's public Google profile), and it is clearly distinguishable from draft_reply by being the public, approved action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to call: ONLY when the user has explicitly approved this exact text, one call per approved reply, never in bulk. It also explains what to do on refusal/rejection (manual fallback, write a different reply).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_review_requestSend review request emailA
Destructive
Inspect

Send ONE review-request email to a real customer, through ReputeMap's campaign engine (respects unsubscribes and the suppression list). This emails a real person - only use it when the user explicitly asks to request a review. Returns status 'sent', 'skipped' (opted out or suppressed), 'already_requested' (this location already asked this address - no second email is sent and no credit is spent) or 'failed'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNocustomer name (optional)
emailYescustomer email address
location_idYesUUID from list_locations

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing that unsubscribes and the suppression list are respected, and by enumerating the four return statuses including the deduplication rule ('already_requested... no second email is sent and no credit is spent'). This is meaningful side-effect and cost information for a destructive, open-world tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler: purpose first, safety gate second, return contract third. The most decision-critical information (real person, explicit user request required) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, yet the description fully enumerates the possible return statuses and their meanings, which compensates. Combined with the safety gate and dedup behavior, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (name, email, location_id) are already documented in the schema, including the 'UUID from list_locations' hint. The description adds no additional parameter-level semantics, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (send) and resource (one review-request email to a real customer) plus the delivery mechanism (ReputeMap's campaign engine). The emphasis on 'ONE' and 'a real customer' distinguishes it from the sibling drafting tools like draft_reply.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit gating condition: 'only use it when the user explicitly asks to request a review.' It also explains why the restriction exists ('This emails a real person'), which is enough for an agent to decide when not to call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedlist_reviews1 field changed
      • changedInput schema / properties / unanswered_only / description
        Previous value: -"true = only reviews without an owner reply"New value: +"true = only reviews without an owner reply on Google (a reply Google rejected counts as none)"
  2. 1 tool update
    • Changeddraft_reply1 field changed
      • addedInput schema / properties / instructions
        Added value: +{
        +  "description": "optional one-off guidance for this draft, e.g. 'mention the new units' or 'keep it under 40 words'",
        +  "maxLength": 300,
        +  "type": "string"
        +}
  3. 2 tool updates
    • Addeddraft_reply
    • Addedpublish_reply
  4. 5 tool updates
    • First observedget_review_stats
    • First observedget_usage
    • First observedlist_locations
    • First observedlist_reviews
    • First observedsend_review_request

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects a Google Business Profile to AI assistants like Claude, ChatGPT, Cursor, and Claude Code so users can query local search and Maps performance, track keywords, and monitor reviews through natural language. It also supports write actions for replying to reviews, publishing local posts, and managing photos and menus, with per-account read-only or read-and-write controls.
    4
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables managing Google Business Profiles through natural language: list locations, reply to reviews, create local posts, and fetch performance metrics.
    26
    95 npm
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.