Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Read Google reviews and stats, draft AI replies, publish the ones you approve, request reviews.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
REPUTEMAP_API_KEY, AuthorizationLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"reputemap": {
"command": "npx",
"args": [
"-y",
"@reputemap/mcp"
],
"env": {
"REPUTEMAP_API_KEY": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http reputemap https://api.reputemap.com/mcp --header 'Authorization: your-value'claude mcp add reputemap --env REPUTEMAP_API_KEY=your-value -- npx -y @reputemap/mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"reputemap": {
"url": "https://api.reputemap.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"reputemap": {
"command": "npx",
"args": [
"-y",
"@reputemap/mcp"
],
"env": {
"REPUTEMAP_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"reputemap": {
"type": "http",
"url": "https://api.reputemap.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"reputemap": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@reputemap/mcp"
],
"env": {
"REPUTEMAP_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Authorization secreto obligatorio HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con el dominio reputemap.com (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: REPUTEMAP_API_KEY, Authorization
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (1.1.1) llegó al registro hace 25 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, debuff
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
The Model Context Protocol server of ReputeMap. It gives Claude, Cursor, Cline, VS Code, Codex, Gemini CLI and any other MCP client your Google Business Profile reviews: a filterable review inbox with owner replies inlined, per-location stats, AI reply drafts, publishing a reply you approved, and honest review-request emails.
*"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."*
*"Publish the second draft for the Riverside review, exactly as written."*
*"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 · included in every paid plan, from Solo ($19/month), and in the 14-day trial.
Seven tools: four read, three act.
| Tool | What it does | Type | Credits |
|---|---|---|---|
list_locations | Every location the org manages, with the ids the other tools take | read-only | 1 |
list_reviews | Google reviews, newest first, with the published owner reply inlined. Filter by location, star range, unanswered only, or the last N days; up to 50 per page with offset paging. Each review carries Google's moderation state of the reply (reply_state, reply_policy_violation) | read-only | 1 |
get_review_stats | Per location and org-wide: review count, average rating, 1–5★ breakdown, unanswered count, and activity in a trailing window (default 30 days) | read-only | 1 |
draft_reply | 2–3 reply drafts for one review from ReputeMap's own generator, in the business's saved voice and sign-off. Optional one-off instructions (e.g. "keep it under 40 words"). Saves the draft to the app's editor and never publishes | saves a draft | 1 |
publish_reply | Publishes the exact reply text the user approved to the review on Google | posts to Google | 1 |
send_review_request | Sends one real review-request email to a customer through ReputeMap's campaign engine | sends email | 1 |
get_usage | This month's credit usage, limit and rate limit | read-only | free |
Tools carry MCP annotations: the four read tools have readOnlyHint; the other three don't, and publish_reply is also marked destructiveHint. Those are the signals that make a client ask you before it runs a tool.
draft_reply stores drafts in ReputeMap. Nothing reaches Google until publish_reply is called or someone clicks Publish in the app.publish_reply takes the exact text you approved and nothing else. It replaces any existing owner reply on that review, which is why it is flagged destructive, and every publish is audit-logged. If Google refuses the request, the text stays in ReputeMap with a manual fallback (status: "manual_required"), so your words are never lost.publish_reply answers with google_state: pending means Google is checking the reply before showing it. status: "rejected_by_google" means Google won't show it; policy_violation and detail say why, so write a different reply. list_reviews carries the same state on every review, and a rejected reply counts as no reply for unanswered_only.send_review_request runs through the same opt-out and suppression checks as in-app campaigns. If this location already asked this address, you get status: "already_requested": no second email goes out and the credit is given back. It is still a real email to a real person, so it is annotated non-idempotent and clients confirm first.rmk_ and is shown once.Then pick your client below. Each client has two ways in:
https://api.reputemap.com/mcp directly and sends the key as an Authorization: Bearer header.npx -y @reputemap/mcp (Node 18+) with REPUTEMAP_API_KEY set, and the bridge forwards everything to the hosted endpoint.Remote, one command, no restart:
claude mcp add --transport http reputemap https://api.reputemap.com/mcp \
--header "Authorization: Bearer rmk_YOUR_KEY"
Writing .mcp.json by hand? Include "type": "http" in the entry. Without it, Claude Code reads the entry as a local program and fails.
Stdio bridge instead:
claude mcp add reputemap -e REPUTEMAP_API_KEY=rmk_YOUR_KEY -- npx -y @reputemap/mcp
Use the stdio bridge in claude_desktop_config.json (Settings → Developer → Edit Config), then fully quit and reopen the app. Needs Node.js 18+.
{
"mcpServers": { "reputemap": { "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "rmk_YOUR_KEY" } } } }
The generic mcp-remote bridge works too: "args": ["-y", "mcp-remote", "https://api.reputemap.com/mcp", "--header", "Authorization: Bearer rmk_YOUR_KEY"].
Remote, in ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "reputemap": { "url": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" } } } }
Stdio bridge instead:
{
"mcpServers": { "reputemap": { "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "rmk_YOUR_KEY" } } } }
Open Cline → MCP Servers → Configure MCP Servers, which opens cline_mcp_settings.json, and add the server. Remote:
{
"mcpServers": { "reputemap": { "type": "streamableHttp", "url": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" }, "disabled": false } } }
Stdio bridge instead:
{
"mcpServers": { "reputemap": { "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "rmk_YOUR_KEY" }, "disabled": false } } }
.vscode/mcp.json in the workspace. The top-level key is servers, not mcpServers. VS Code asks for the key once and stores it, so it stays out of the file:
{
"inputs": [ { "type": "promptString", "id": "reputemap-key", "description": "ReputeMap API key (rmk_...)", "password": true } ], "servers": { "reputemap": { "type": "http", "url": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer ${input:reputemap-key}" } } } }
Stdio bridge instead: replace the reputemap entry with { "type": "stdio", "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "${input:reputemap-key}" } }.
~/.codeium/windsurf/mcp_config.json. Note the field is serverUrl:
{
"mcpServers": { "reputemap": { "serverUrl": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" } } } }
~/.codex/config.toml, then export REPUTEMAP_API_KEY in your shell:
[mcp_servers.reputemap]
url = "https://api.reputemap.com/mcp" bearer_token_env_var = "REPUTEMAP_API_KEY"
gemini mcp add --transport http reputemap https://api.reputemap.com/mcp \
--header "Authorization: Bearer rmk_YOUR_KEY"
Or in ~/.gemini/settings.json, where the field is httpUrl:
{
"mcpServers": { "reputemap": { "httpUrl": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" } } } }
URL: https://api.reputemap.com/mcp
Transport: Streamable HTTP (JSON-RPC 2.0 over POST) Header: Authorization: Bearer rmk_YOUR_KEY (X-API-Key: rmk_YOUR_KEY also works)
ChatGPT isn't supported yet: its connectors accept only OAuth, and this server uses an API key.
Check the connection: ask *"list my ReputeMap locations"*. If the ids come back, you're connected.
get_usage, which is free. A call with malformed arguments is rejected before a credit is charged, and a send_review_request that comes back already_requested is refunded.get_usage tells you where you stand.| Symptom | Cause and fix |
|---|---|
401 invalid or missing API key | Typo, or the key was revoked. Create a new one in Settings → API keys |
403 … requires an active paid plan | The workspace has no subscription. Pick a plan; the 14-day trial counts |
| "Monthly API credit limit reached" | Credits reset on the 1st; check get_usage |
| Claude Desktop shows no tools | npx needs Node.js 18+; fully quit and reopen the app after editing the config |
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+, standard library only). Both forward every JSON-RPC message to the hosted endpoint over TLS and stream the responses back. The bridge holds no tool list of its own, so new tools reach you as soon as the hosted server ships them.
# Node: one-liner, no install
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. .plugin/plugin.json and .mcp.json describe the same server for plugin-aware clients.
The bridge is about 120 readable lines, so it also documents what travels over the wire: your API key goes only into the Authorization header of TLS requests to api.reputemap.com.
initialize → notifications/initialized → tools/list / tools/call, plus ping. Supported revisions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25.initialize, ping, tools/list) answers without a key, so clients and directories can show the tool catalogue before you authenticate. tools/call always needs the key.isError: true, so your agent can read them and tell you.Solo se muestra el principio; lee el resto en el repo