ReputeMap

ReputeMap es una plataforma de reputación agéntica para marcas con múltiples ubicaciones: más reseñas de Google, respuestas con IA que tú apruebas, alertas e informes de 1 a 3 estrellas, desde $19/mes.

Servidor MCP alojado

npx add-mcp 'https://api.reputemap.com/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

ReputeMap MCP: Gestión de reseñas de Google para agentes de IA

El servidor del Protocolo de Contexto de Modelo de ReputeMap. Proporciona a Claude, Cursor, Cline, VS Code, Codex, Gemini CLI y cualquier otro cliente MCP las reseñas de tu Perfil de Empresa de Google: una bandeja de reseñas filtrable con respuestas del propietario integradas, estadísticas por ubicación, borradores de respuestas con IA, publicación de una respuesta que hayas aprobado y correos honestos de solicitud de reseñas.

"Muéstrame todas las reseñas sin responder por debajo de 3 estrellas de la última semana, las peores primero." "Redacta respuestas a las tres reseñas negativas más recientes en un tono tranquilo." "Publica el segundo borrador para la reseña de Riverside, exactamente como está escrito." "Acabamos de terminar el trabajo de los Henderson. Envíales una solicitud de reseña."

Probablemente no necesitas ejecutar nada. El servidor está alojado:

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

Registro: com.reputemap/reputemap · incluido en todos los planes de pago, desde Solo ($19/mes), y en la prueba de 14 días.

Herramientas

Siete herramientas: cuatro de solo lectura, tres de acción.

HerramientaQué haceTipoCréditos
list_locationsCada ubicación que gestiona la organización, con los ids que usan las otras herramientassolo lectura1
list_reviewsReseñas de Google, las más recientes primero, con la respuesta publicada del propietario integrada. Filtra por ubicación, rango de estrellas, solo sin responder o los últimos N días; hasta 50 por página con paginación offset. Cada reseña incluye el estado de moderación de Google de la respuesta (reply_state, reply_policy_violation)solo lectura1
get_review_statsPor ubicación y a nivel de organización: número de reseñas, calificación promedio, desglose de 1–5★, número de sin responder y actividad en una ventana móvil (por defecto 30 días)solo lectura1
draft_reply2–3 borradores de respuesta para una reseña del generador propio de ReputeMap, con la voz y el cierre guardados del negocio. instructions opcional de una sola vez (p. ej., "mantenlo en menos de 40 palabras"). Guarda el borrador en el editor de la aplicación y nunca publicaguarda un borrador1
publish_replyPublica el texto exacto de la respuesta que el usuario aprobó en la reseña en Googlepublica en Google1
send_review_requestEnvía un correo real de solicitud de reseña a un cliente a través del motor de campañas de ReputeMapenvía correo1
get_usageUso de créditos de este mes, límite y límite de velocidadsolo lecturagratis

Las herramientas llevan anotaciones MCP: las cuatro herramientas de solo lectura tienen readOnlyHint; las otras tres no, y publish_reply también está marcada como destructiveHint. Esas son las señales que hacen que un cliente te pregunte antes de ejecutar una herramienta.

Seguridad: lo que un agente entusiasta puede y no puede hacer

  • Solo tus datos. La clave llega exactamente a lo que posee tu organización: sus ubicaciones, reseñas y estadísticas. Las llamadas de navegador de origen cruzado se rechazan.
  • Redactar nunca publica. draft_reply guarda borradores en ReputeMap. Nada llega a Google hasta que se llama a publish_reply o alguien hace clic en Publicar en la aplicación.
  • Publicar necesita tu sí explícito. publish_reply toma el texto exacto que aprobaste y nada más. Reemplaza cualquier respuesta existente del propietario en esa reseña, por eso está marcada como destructiva, y cada publicación queda registrada en el registro de auditoría. Si Google rechaza la solicitud, el texto permanece en ReputeMap con una alternativa manual (status: "manual_required"), para que tus palabras nunca se pierdan.
  • Google modera las respuestas del propietario, y las herramientas te lo dicen. publish_reply responde con google_state: pending significa que Google está revisando la respuesta antes de mostrarla. status: "rejected_by_google" significa que Google no la mostrará; policy_violation y detail indican el motivo, así que escribe una respuesta diferente. list_reviews lleva el mismo estado en cada reseña, y una respuesta rechazada cuenta como sin respuesta para unanswered_only.
  • Las exclusiones siguen ganando. send_review_request pasa por las mismas comprobaciones de exclusión y supresión que las campañas dentro de la aplicación. Si esta ubicación ya solicitó a esta dirección, obtienes status: "already_requested": no se envía un segundo correo y se devuelve el crédito. Sigue siendo un correo real a una persona real, por lo que está anotado como no idempotente y los clientes confirman primero.
  • Revoca con un clic. Las claves se almacenan solo como hashes y se muestran una vez. Revocar una corta el acceso de inmediato.

Obtén una clave API

  1. Ten un espacio de trabajo de ReputeMap en cualquier plan de pago, o en la prueba de 14 días (se requiere tarjeta). Empieza aquí.
  2. En la aplicación: Configuración → Claves API (propietarios y administradores). La clave comienza con rmk_ y se muestra una vez.

Luego elige tu cliente a continuación. Cada cliente tiene dos formas de acceso:

  • Remoto (recomendado): el cliente habla con https://api.reputemap.com/mcp directamente y envía la clave como un encabezado Authorization: Bearer.
  • Puente stdio local: para clientes que solo pueden iniciar un programa local. El cliente ejecuta npx -y @reputemap/mcp (Node 18+) con REPUTEMAP_API_KEY configurado, y el puente reenvía todo al endpoint alojado.

Configuración por cliente

Claude Code

Remoto, un comando, sin reinicio:

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

¿Escribiendo .mcp.json a mano? Incluye "type": "http" en la entrada. Sin eso, Claude Code lee la entrada como un programa local y falla.

Puente stdio en su lugar:

claude mcp add reputemap -e REPUTEMAP_API_KEY=rmk_YOUR_KEY -- npx -y @reputemap/mcp

Claude Desktop

Usa el puente stdio en claude_desktop_config.json (Configuración → Desarrollador → Editar configuración), luego cierra y vuelve a abrir la aplicación por completo. Necesita Node.js 18+.

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

El puente genérico mcp-remote también funciona: "args": ["-y", "mcp-remote", "https://api.reputemap.com/mcp", "--header", "Authorization: Bearer rmk_YOUR_KEY"].

Cursor

Remoto, en ~/.cursor/mcp.json (todos los proyectos) o .cursor/mcp.json (un proyecto):

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

Puente stdio en su lugar:

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

Cline

Abre Cline → Servidores MCP → Configurar servidores MCP, que abre cline_mcp_settings.json, y agrega el servidor. Remoto:

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

Puente stdio en su lugar:

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

VS Code (modo agente de Copilot)

.vscode/mcp.json en el espacio de trabajo. La clave de nivel superior es servers, no mcpServers. VS Code pide la clave una vez y la almacena, por lo que no queda en el archivo:

{
  "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}" }
    }
  }
}

Puente stdio en su lugar: reemplaza la entrada reputemap con { "type": "stdio", "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "${input:reputemap-key}" } }.

Windsurf

~/.codeium/windsurf/mcp_config.json. Ten en cuenta que el campo es serverUrl:

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

Codex CLI

~/.codex/config.toml, luego exporta REPUTEMAP_API_KEY en tu shell:

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

Gemini CLI

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

O en ~/.gemini/settings.json, donde el campo es httpUrl:

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

Cualquier otro cliente MCP

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 aún no es compatible: sus conectores solo aceptan OAuth, y este servidor usa una clave API.

Comprueba la conexión: pregunta "lista mis ubicaciones de ReputeMap". Si los ids vuelven, estás conectado.

Créditos y límites

  • 1,000 créditos al mes por organización, igual en todos los planes y compartidos con la API REST. Los créditos se reinician el día 1.
  • Cada llamada a una herramienta cuesta 1 crédito excepto get_usage, que es gratis. Una llamada con argumentos mal formados se rechaza antes de cobrar un crédito, y un send_review_request que devuelve already_requested se reembolsa.
  • 60 solicitudes por minuto por organización.
  • Cuando se agotan los créditos, las herramientas responden con un error que tu agente puede leer ("Límite mensual de créditos API alcanzado"). get_usage te dice dónde estás.
SíntomaCausa y solución
401 clave API inválida o faltanteError tipográfico, o la clave fue revocada. Crea una nueva en Configuración → Claves API
403 … requiere un plan de pago activoEl espacio de trabajo no tiene suscripción. Elige un plan; la prueba de 14 días cuenta
"Límite mensual de créditos API alcanzado"Los créditos se reinician el día 1; consulta get_usage
Claude Desktop no muestra herramientasnpx necesita Node.js 18+; cierra y vuelve a abrir la aplicación por completo después de editar la configuración

Qué hay en este repositorio

Un puente stdio de cero dependencias para clientes que hablan MCP sobre stdio y no pueden enviar encabezados HTTP, en dos variantes: bin/cli.mjs (Node 18+, publicado como @reputemap/mcp) y server.py (Python 3.9+, solo biblioteca estándar). Ambos reenvían cada mensaje JSON-RPC al endpoint alojado a través de TLS y transmiten las respuestas de vuelta. El puente no tiene una lista de herramientas propia, por lo que las nuevas herramientas llegan a ti tan pronto como el servidor alojado las publique.

# 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 es el manifiesto publicado en el registro oficial de MCP como com.reputemap/reputemap. .plugin/plugin.json y .mcp.json describen el mismo servidor para clientes compatibles con plugins.

El puente tiene unas 120 líneas legibles, por lo que también documenta lo que viaja por el cable: tu clave API solo va en el encabezado Authorization de las solicitudes TLS a api.reputemap.com.

Notas del protocolo

  • Métodos: initialize → notifications/initialized → tools/list / tools/call, además de ping. Revisiones compatibles: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25.
  • Descubrimiento (initialize, ping, tools/list) responde sin clave, por lo que los clientes y directorios pueden mostrar el catálogo de herramientas antes de que te autentiques. tools/call siempre necesita la clave.
  • Los errores del protocolo usan códigos JSON-RPC estándar. Los errores a nivel de herramienta (id incorrecto, sin créditos) vuelven como resultados de herramienta con isError: true, para que tu agente pueda leerlos y decírtelo.
  • El servidor no tiene estado: solo POST, sin sesión y sin flujo SSE iniciado por el servidor (GET responde 405). El puente aún respeta Mcp-Session-Id y acepta respuestas tanto JSON como con marco SSE.
  • Los lotes JSON-RPC solo se aceptan de clientes que negociaron una revisión anterior a 2025-06-18, que eliminó los lotes. Las solicitudes con un encabezado Origin extraño se rechazan.

Enlaces

ReputeMap es una herramienta independiente y no está afiliada a Google.

Licencia

MIT, consulta LICENSE.