The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the ReputeMap listing page.
The Model Context Protocol surface of ReputeMap: Google Business Profile reviews — a filterable review inbox, per-location stats, and honest review-request campaigns — for Claude, Cursor, Codex, Gemini CLI and any other MCP-capable agent.
"Show me every unanswered review under 3 stars from the last week, worst first." "Draft replies to the three newest negative reviews in a calm tone." "We just finished the Hendersons' job — send them a review request."
You probably don't need to run anything. The server is hosted:
Registry: com.reputemap/reputemap · any paid plan (the 14-day free trial counts).
Claude Code — one command, no restart:
Cursor — .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
Claude Desktop — claude_desktop_config.json, then restart the app fully:
VS Code (Copilot agent mode) — .vscode/mcp.json:
Windsurf — ~/.codeium/windsurf/mcp_config.json (the field is serverUrl):
Codex CLI — ~/.codex/config.toml, then export REPUTEMAP_API_KEY:
Gemini CLI — ~/.gemini/settings.json (the field is httpUrl):
ChatGPT — Settings → Connectors → create a custom connector (Developer
mode), point it at https://api.reputemap.com/mcp and pick API key
authentication, then paste your key.
Full walkthroughs with screenshots: reputemap.com/docs/mcp.
More recipes (cron digests, CRM sync): reputemap/examples.
Companion agent skills:
reputemap/review-skills
(npx skills add reputemap/review-skills).
A zero-dependency stdio bridge for clients that speak MCP over stdio and
can't send HTTP headers — in two flavours: bin/cli.mjs
(Node 18+, published as
@reputemap/mcp) and
server.py (Python 3.9+, stdlib only). Both forward every
JSON-RPC message to the hosted endpoint over TLS and stream responses back.
server.json is the manifest published to the
official MCP registry as
com.reputemap/reputemap.
Being ~120 readable lines, the bridge doubles as a reference for what
travels over the wire: your API key goes only into the Authorization
header of TLS requests to api.reputemap.com — nothing else, nowhere else.
| Tool | What it does | Credits |
|---|---|---|
list_locations | Every location the org manages, with ids | 1 |
list_reviews | Reviews, filterable (location, rating range, unanswered, last N days) — includes published reply text | 1 |
get_review_stats | Per-location + totals: counts, average rating, 1–5 breakdown, unanswered, trailing-window activity | 1 |
send_review_request | Sends a real review-request email through the campaign engine (respects opt-outs; idempotent) | 1 |
get_usage | Current month's credit usage | free |
Credits ship with every ReputeMap plan (1,000/month, shared with the
REST API); get_usage is free and tells you
where you stand. Rate limit: 60 requests/minute per org.
The one write action — send_review_request — goes through the same
suppression/opt-out engine as in-app campaigns, so an over-eager agent can't
spam your customers. Tools carry MCP annotations
(readOnlyHint/destructiveHint), and discovery (initialize, tools/list)
works without a key, so clients can render the catalog before you authenticate.
Revoke the key at any time and access dies instantly.
initialize → notifications/initialized → tools/list /
tools/call. Protocol errors use standard JSON-RPC codes; tool-level errors
(bad id, out of credits) come back as tool results your agent can read.Mcp-Session-Id and accepts both JSON and SSE-framed responses.Origin
headers are refused.MIT — see LICENSE.