Back to Directory/Search & Knowledge

ReputeMap

Read and filter your Google Business Profile reviews, get stats, and send review requests.

Search & KnowledgePythonv1.0.2

ReputeMap MCP — Google review management for AI agents

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:

https://api.reputemap.com/mcp          Streamable HTTP · JSON-RPC 2.0
Authorization: Bearer rmk_YOUR_KEY     app.reputemap.com → Settings → API keys

Registry: com.reputemap/reputemap · any paid plan (the 14-day free trial counts).

Setup per client

Claude Code — one command, no restart:

claude mcp add --transport http reputemap https://api.reputemap.com/mcp \
  --header "Authorization: Bearer rmk_YOUR_KEY"

Cursor — .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "reputemap": {
      "url": "https://api.reputemap.com/mcp",
      "headers": { "Authorization": "Bearer rmk_YOUR_KEY" }
    }
  }
}

Claude Desktop — claude_desktop_config.json, then restart the app fully:

{
  "mcpServers": {
    "reputemap": {
      "command": "npx",
      "args": ["-y", "@reputemap/mcp"],
      "env": { "REPUTEMAP_API_KEY": "rmk_YOUR_KEY" }
    }
  }
}

VS Code (Copilot agent mode) — .vscode/mcp.json:

{
  "servers": {
    "reputemap": {
      "type": "http",
      "url": "https://api.reputemap.com/mcp",
      "headers": { "Authorization": "Bearer rmk_YOUR_KEY" }
    }
  }
}

Windsurf — ~/.codeium/windsurf/mcp_config.json (the field is serverUrl):

{
  "mcpServers": {
    "reputemap": {
      "serverUrl": "https://api.reputemap.com/mcp",
      "headers": { "Authorization": "Bearer rmk_YOUR_KEY" }
    }
  }
}

Codex CLI — ~/.codex/config.toml, then export REPUTEMAP_API_KEY:

[mcp_servers.reputemap]
url = "https://api.reputemap.com/mcp"
bearer_token_env_var = "REPUTEMAP_API_KEY"

Gemini CLI — ~/.gemini/settings.json (the field is httpUrl):

{
  "mcpServers": {
    "reputemap": {
      "httpUrl": "https://api.reputemap.com/mcp",
      "headers": { "Authorization": "Bearer rmk_YOUR_KEY" }
    }
  }
}

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).

What's in this repo

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.

# Node — one-liner, no install
REPUTEMAP_API_KEY="rmk_..." npx -y @reputemap/mcp

# Python — no dependencies
REPUTEMAP_API_KEY="rmk_..." python3 server.py

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.

Tools

ToolWhat it doesCredits
list_locationsEvery location the org manages, with ids1
list_reviewsReviews, filterable (location, rating range, unanswered, last N days) — includes published reply text1
get_review_statsPer-location + totals: counts, average rating, 1–5 breakdown, unanswered, trailing-window activity1
send_review_requestSends a real review-request email through the campaign engine (respects opt-outs; idempotent)1
get_usageCurrent month's credit usagefree

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.

Protocol notes

  • Methods: 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.
  • The server is stateless — no session required; the bridge still honours Mcp-Session-Id and accepts both JSON and SSE-framed responses.
  • Batch requests are rejected (removed in MCP 2025-11-25); foreign Origin headers are refused.

Links

License

MIT — see LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @reputemap/mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "com-reputemap-reputemap": {
      "command": "npx",
      "args": [
        "-y",
        "@reputemap/mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@reputemap/mcpnpm

Compatible MCP Clients

ReputeMap works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More