{
  "markdown": "# ReputeMap MCP — Google review management for AI agents\n\nThe [Model Context Protocol](https://modelcontextprotocol.io) surface of\n[ReputeMap](https://reputemap.com): Google Business Profile reviews — a\nfilterable review inbox, per-location stats, and honest review-request\ncampaigns — for Claude, Cursor, Codex, Gemini CLI and any other MCP-capable\nagent.\n\n> *\"Show me every unanswered review under 3 stars from the last week, worst first.\"*\n> *\"Draft replies to the three newest negative reviews in a calm tone.\"*\n> *\"We just finished the Hendersons' job — send them a review request.\"*\n\n**You probably don't need to run anything.** The server is hosted:\n\n```\nhttps://api.reputemap.com/mcp          Streamable HTTP · JSON-RPC 2.0\nAuthorization: Bearer rmk_YOUR_KEY     app.reputemap.com → Settings → API keys\n```\n\nRegistry: [`com.reputemap/reputemap`](https://registry.modelcontextprotocol.io/v0/servers?search=com.reputemap) · any paid plan (the 14-day free trial counts).\n\n## Setup per client\n\n**Claude Code** — one command, no restart:\n\n```bash\nclaude mcp add --transport http reputemap https://api.reputemap.com/mcp \\\n  --header \"Authorization: Bearer rmk_YOUR_KEY\"\n```\n\n**Cursor** — `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"reputemap\": {\n      \"url\": \"https://api.reputemap.com/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer rmk_YOUR_KEY\" }\n    }\n  }\n}\n```\n\n**Claude Desktop** — `claude_desktop_config.json`, then restart the app fully:\n\n```json\n{\n  \"mcpServers\": {\n    \"reputemap\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@reputemap/mcp\"],\n      \"env\": { \"REPUTEMAP_API_KEY\": \"rmk_YOUR_KEY\" }\n    }\n  }\n}\n```\n\n**VS Code (Copilot agent mode)** — `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"reputemap\": {\n      \"type\": \"http\",\n      \"url\": \"https://api.reputemap.com/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer rmk_YOUR_KEY\" }\n    }\n  }\n}\n```\n\n**Windsurf** — `~/.codeium/windsurf/mcp_config.json` (the field is `serverUrl`):\n\n```json\n{\n  \"mcpServers\": {\n    \"reputemap\": {\n      \"serverUrl\": \"https://api.reputemap.com/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer rmk_YOUR_KEY\" }\n    }\n  }\n}\n```\n\n**Codex CLI** — `~/.codex/config.toml`, then export `REPUTEMAP_API_KEY`:\n\n```toml\n[mcp_servers.reputemap]\nurl = \"https://api.reputemap.com/mcp\"\nbearer_token_env_var = \"REPUTEMAP_API_KEY\"\n```\n\n**Gemini CLI** — `~/.gemini/settings.json` (the field is `httpUrl`):\n\n```json\n{\n  \"mcpServers\": {\n    \"reputemap\": {\n      \"httpUrl\": \"https://api.reputemap.com/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer rmk_YOUR_KEY\" }\n    }\n  }\n}\n```\n\n**ChatGPT** — Settings → Connectors → create a custom connector (Developer\nmode), point it at `https://api.reputemap.com/mcp` and pick **API key**\nauthentication, then paste your key.\n\nFull walkthroughs with screenshots: [reputemap.com/docs/mcp](https://reputemap.com/docs/mcp).\nMore recipes (cron digests, CRM sync): [reputemap/examples](https://github.com/reputemap/examples).\nCompanion agent skills:\n[`reputemap/review-skills`](https://github.com/reputemap/review-skills)\n(`npx skills add reputemap/review-skills`).\n\n## What's in this repo\n\nA **zero-dependency stdio bridge** for clients that speak MCP over stdio and\ncan't send HTTP headers — in two flavours: [`bin/cli.mjs`](bin/cli.mjs)\n(Node 18+, published as\n[`@reputemap/mcp`](https://www.npmjs.com/package/@reputemap/mcp)) and\n[`server.py`](server.py) (Python 3.9+, stdlib only). Both forward every\nJSON-RPC message to the hosted endpoint over TLS and stream responses back.\n\n```bash\n# Node — one-liner, no install\nREPUTEMAP_API_KEY=\"rmk_...\" npx -y @reputemap/mcp\n\n# Python — no dependencies\nREPUTEMAP_API_KEY=\"rmk_...\" python3 server.py\n```\n\n[`server.json`](server.json) is the manifest published to the\n[official MCP registry](https://registry.modelcontextprotocol.io) as\n`com.reputemap/reputemap`.\n\nBeing ~120 readable lines, the bridge doubles as a **reference for what\ntravels over the wire**: your API key goes only into the `Authorization`\nheader of TLS requests to `api.reputemap.com` — nothing else, nowhere else.\n\n## Tools\n\n| Tool | What it does | Credits |\n|---|---|---|\n| `list_locations` | Every location the org manages, with ids | 1 |\n| `list_reviews` | Reviews, filterable (location, rating range, unanswered, last N days) — includes published reply text | 1 |\n| `get_review_stats` | Per-location + totals: counts, average rating, 1–5 breakdown, unanswered, trailing-window activity | 1 |\n| `send_review_request` | Sends a **real** review-request email through the campaign engine (respects opt-outs; idempotent) | 1 |\n| `get_usage` | Current month's credit usage | free |\n\nCredits ship with every ReputeMap plan (**1,000/month**, shared with the\n[REST API](https://reputemap.com/docs/api)); `get_usage` is free and tells you\nwhere you stand. Rate limit: **60 requests/minute** per org.\n\nThe one write action — `send_review_request` — goes through the same\nsuppression/opt-out engine as in-app campaigns, so an over-eager agent can't\nspam your customers. Tools carry MCP annotations\n(`readOnlyHint`/`destructiveHint`), and discovery (`initialize`, `tools/list`)\nworks without a key, so clients can render the catalog before you authenticate.\nRevoke the key at any time and access dies instantly.\n\n## Protocol notes\n\n- Methods: `initialize` → `notifications/initialized` → `tools/list` /\n  `tools/call`. Protocol errors use standard JSON-RPC codes; tool-level errors\n  (bad id, out of credits) come back as tool results your agent can read.\n- The server is stateless — no session required; the bridge still honours\n  `Mcp-Session-Id` and accepts both JSON and SSE-framed responses.\n- Batch requests are rejected (removed in MCP 2025-11-25); foreign `Origin`\n  headers are refused.\n\n## Links\n\n- 🌐 [reputemap.com](https://reputemap.com) — Google review management for agencies & local businesses\n- 📚 [API docs](https://reputemap.com/docs/api) · [MCP docs](https://reputemap.com/docs/mcp)\n- 💼 [LinkedIn](https://www.linkedin.com/company/reputemap)\n- ✉️ yaro@reputemap.com\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 6115,
  "sha": "d004b27b1afb32bb927cbf48d826a2964217866baf19e3a59603ddc714642734",
  "repo_slug": "reputemap/mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_reputemap_reputemap_5093971d/readme"
}