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.
REPUTEMAP_API_KEY="rmk_..." npx -y @reputemap/mcp
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.
| 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.
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.