Saltar al contenido
MITCÓDIGO ABIERTOCORRE EN LOCALSIN API KEY

UNA SOLA ENTRADA, Y ESTÁ EN TU MÁQUINA.

El servidor corre en tu máquina y escucha en una dirección de loopback, así que conectar un cliente es un solo comando: sin clave que pegar y sin cuenta que aprobar. Clónalo, arráncalo y apunta ahí Claude Code o Cursor.

git clone --depth 1 https://github.com/thatseoagent/mcp.git

Node 24 o superior · pnpm · nada que registrar

¿Buscabas el plugin, el conector de claude.ai o una API key? Todos llegaban a un servidor alojado que ya no existe. Lo de abajo los reemplaza a todos.

Tres comandos, de cero a conectado

Clona, compila, conecta. El servidor escucha en tu dirección de loopback, así que el cliente apunta a tu propia máquina y no a nosotros. No hay clave que pegar ni permiso que aprobar.

  1. 01 · Clónalo

    git clone --depth 1 https://github.com/thatseoagent/mcp.git

    Un clon superficial: quieres las herramientas, no el historial. Todo lo que el servidor necesita vive en el repositorio.

  2. 02 · Compílalo y arráncalo

    pnpm install && pnpm build && pnpm start

    Escucha en http://127.0.0.1:3737/mcp, y si ese puerto está ocupado se niega a arrancar en lugar de moverse a otro sin avisar y dejar tu cliente apuntando a nada.

  3. 03 · Apunta un cliente

    claude mcp add --transport http thatseoagent http://127.0.0.1:3737/mcp

    Aquí, Claude Code. Cualquier cliente que hable MCP por HTTP funciona igual, porque la dirección es todo lo que necesita.

Para un cliente que usa JSON en vez de un comando: Cursor, y cualquier otro que acepte una URL de MCP

{
  "mcpServers": {
    "thatseoagent": {
      "type": "http",
      "url": "http://127.0.0.1:3737/mcp"
    }
  }
}

La misma dirección única, en la otra notación. No hay cabecera Authorization, porque no hay nada entre tu cliente y tu propia máquina. El campo type también acepta streamable-http como alias de http, si tu cliente lo exige.

Qué clientes pueden alcanzarlo

Una dirección de loopback solo es alcanzable desde tu propia máquina. Ese único hecho decide toda la tabla: un cliente que se conecta desde la nube de su proveedor no puede ver tu servidor, por bien que hable MCP.

  • Claude Code

    Funciona: claude mcp add --transport http

    La sintaxis documentada acepta cualquier URL, incluida una de loopback.

  • Cursor

    Funciona: url en mcp.json

    Apúntalo a http://127.0.0.1:3737/mcp igual que harías con un servidor remoto.

  • Claude Desktop

    No puede alcanzarlo: solo stdio

    Su mecanismo local lanza un proceso hijo desde claude_desktop_config.json, con command y args, y sin ningún campo para una dirección HTTP local. Sus conectores se cargan desde la nube de Anthropic.

  • claude.ai, Cowork, móvil

    No puede alcanzarlo: conector desde la nube

    El centro de ayuda de Anthropic es explícito: un conector propio se alcanza desde su infraestructura en la nube y no desde tu equipo, y los servidores MCP locales no están disponibles en Cowork ni en claude.ai.

  • ChatGPT

    No puede alcanzarlo: requiere HTTPS público

    La URL de un conector tiene que ser alcanzable de forma remota; una dirección localhost se rechaza por insegura.

Lo que no esté en la lista sigue la misma regla: si el cliente abre la conexión desde tu máquina, funciona; si la abre desde el servidor de alguien más, no puede.

El login de Google es tuyo, no nuestro

Las herramientas de Search Console y Analytics leen tus propios datos de Google, así que usan un cliente OAuth que creas tú. Nunca vemos las credenciales, porque el servidor que las guarda es el que estás corriendo.

Crea un cliente de tipo Desktop
En Google Cloud Console, en APIs y servicios, luego Credenciales. Desktop es el tipo que permite el redirect a loopback que usa este login. Habilita la API de Search Console y la de Google Analytics Data en el mismo proyecto.
Pon los dos valores en .env
GOOGLE_CLIENT_ID y GOOGLE_CLIENT_SECRET, en un archivo .env en la raíz del servidor. El archivo está fuera de git, se lee una vez al arrancar, y una variable ya definida en tu shell le gana.
Inicia sesión una vez
El comando imprime los dos permisos que pide y qué deja de funcionar sin cada uno, abre tu navegador, recibe el redirect en un puerto de loopback efímero y deja de escuchar. Los dos permisos son de solo lectura. Vuelve a correrlo para cambiar de cuenta.
pnpm login

Lo que nunca sale de tu máquina

Correr el servidor tú mismo mueve las partes sensibles a tu propio disco. Eso es lo que cambia aquí, más que la licencia.

Tus tokens de Google

Guardados en una base SQLite local, dentro del directorio del propio servidor y fuera de git. Nada se nos transmite, porque ya no hay un nosotros en el camino de la petición.

Tu historial de auditorías

Registros de sitios, corridas de auditoría, lecturas de métricas y una caché de resultados, en el mismo archivo local. Se crea y se migra en el primer uso, y es opcional: apágalo y todas las herramientas sin credenciales siguen funcionando.

El socket que escucha

Se ata a 127.0.0.1 y rechaza peticiones de otro origen, así que una página web no puede alcanzarlo. Tampoco tiene autenticación. En tu propio portátil ese trato es el correcto; en una máquina donde entra más gente, no.

La guía de instalación vive con el código

El repositorio trae un documento de instalación que lleva una máquina limpia hasta un servidor funcionando y un reporte completo, incluidos los pasos de Google Cloud, y asocia cada mensaje de error común con su solución. Está escrito en tres etapas y lo dice: la primera no necesita cuentas ni claves, y puedes parar ahí. Se mantiene junto a lo que describe, y por eso esta página lo enlaza en vez de copiarlo.