Expired Local MCP

MCP HTTP transmisible alojado para inteligencia de dominios locales expirados. Busca dominios comerciales expirados, en subasta y pendientes de eliminación con señales de GMB, redes sociales y SEO desde Claude, Cursor o Codex. Documentación: https://www.expiredlocal.com/docs/mcp/

Servidor MCP alojado

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

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

Documentación

Alojado por ExpiredLocalNo requiere instalación

https://api.expiredlocal.com/mcp

Transporte

HTTP transmisible

Autenticación

Clave API Bearer

Herramientas

7 lectura · 1 revelación

Conecta tu cliente

Tu cliente necesita HTTP transmisible remoto y encabezados personalizados. No se requiere descarga.

  1. Crea una clave de solo lectura

    Abre Cuenta → Claves API, crea una clave Solo lectura y guarda su valor completo.
  2. Añade la conexión remota

    Usa la URL anterior con Authorization: Bearer YOUR_API_KEY. No uses la URL REST /v1.
  3. Conecta y descubre herramientas

    Reconecta y llama a list_business_types. No utiliza créditos; pasa un inventario y opcionalmente un código de país.

Los clientes solo OAuth, solo SSE heredado y solo navegador no son compatibles.

Elige la configuración de tu cliente

Añade la entrada a tu configuración existente. Nunca pegues una clave real en un prompt.

Usa este patrón solo si tu cliente acepta un objeto mcpServers con servidores HTTP y encabezados personalizados. Reemplaza YOUR_API_KEY en tu configuración privada; los nombres de campos no son universales.

{
  "mcpServers": {
    "expiredlocal": {
      "type": "http",
      "url": "https://api.expiredlocal.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Si tu cliente usa un formulario, introduce la misma URL y el encabezado bearer.

Haz una primera solicitud de solo lectura

Intenta preguntar a tu asistente

"Lista las extensiones de dominio, luego encuentra 20 dominios expirados de EE. UU. con al menos 10 reseñas. No reveles nada."

Deberías ver ocho herramientas. Los resultados expirados no revelados omiten el nombre de dominio.

Las claves de solo lectura no pueden llamar a reveal_domains.

Referencia de herramientas

Las herramientas siguen las reglas de acceso de Domain API. No hay herramientas de cuenta o facturación.

HerramientaAccesoDevuelve
search_expired_domainsLecturaInventario expirado filtrado y paginado.
search_auction_domainsLecturaInventario de subastas filtrado y paginado.
search_pending_delete_domainsLecturaInventario de eliminación pendiente filtrado y paginado.
list_business_typesLecturaCategorías canónicas y recuentos de inventario.
list_domain_tldsLecturaExtensiones y recuentos de inventario.
list_revealed_domainsLecturaTus nombres revelados y metadatos.
get_domain_detailsLecturaInvestigación detallada para un dominio.
reveal_domainsEscrituraRevela hasta 100 dominios en una solicitud.

Expande una herramienta para ver entradas y salidas de ejemplo. Los ejemplos son ficticios.

search_expired_domains Buscar dominios expiradosLectura

Busca dominios que ya han caído por geografía, categoría de negocio, extensión, reseñas y señales SEO.

Argumentos

pagination objeto · opcional

Contiene page y page_size.

business, location, tlds objetos tipados · opcional

Usa business.type_keys para claves de categoría exactas y arrays include/exclude para filtros de ubicación y TLD.

business_profile, seo, social, lifecycle, sort objetos tipados · opcional

Los rangos usan { min, max }; el ciclo de vida acepta dropped_after y dropped_before como instantes RFC 3339.

{
  "pagination": {
    "page": 1,
    "page_size": 20
  },
  "location": {
    "countries": {
      "include": [
        "US"
      ]
    }
  },
  "business_profile": {
    "reviews": {
      "min": 10
    }
  }
}

Resultado

items contiene registros de inventario; total es el recuento coincidente. domain_id es la entrada para reveal_domains y get_domain_details. Un registro no revelado puede contener señales de investigación sin su nombre de dominio.

{
  "items": [
    {
      "domain_id": 12345,
      "status": "expired",
      "business_type": "Plumber",
      "business_type_key": "plumber",
      "review_count": 31,
      "country_code": "US",
      "city": "Austin",
      "tld": "com",
      "revealed": false,
      "social_data_status": "processed",
      "social_platforms": [],
      "social_profiles": []
    }
  ],
  "total": 1,
  "page": 1,
  "page_size": 20
}

search_auction_domains Buscar dominios en subastaLectura

Busca dominios en subastas activas por plataforma, geografía, categoría de negocio, extensión, reseñas y señales SEO.

Argumentos

pagination objeto · opcional

Contiene page y page_size.

business, location, tlds, platforms valores tipados · opcional

Usa claves de categoría exactas, arrays include/exclude y nombres de plataformas de subasta.

business_profile, seo, social, lifecycle, sort objetos tipados · opcional

El ciclo de vida acepta auction_end_after y auction_end_before como instantes RFC 3339.

{
  "pagination": {
    "page": 1,
    "page_size": 20
  },
  "platforms": [
    "sedo"
  ],
  "lifecycle": {
    "auction_end_before": "2026-09-30T00:00:00Z"
  }
}

Resultado

items contiene registros de subasta con auction_end_at y plataforma cuando estén disponibles. La visibilidad de dominios sigue el acceso de inventario pagado.

{
  "items": [
    {
      "domain_id": 12345,
      "status": "auction",
      "business_type": "Plumber",
      "business_type_key": "plumber",
      "review_count": 31,
      "country_code": "US",
      "city": "Austin",
      "tld": "com",
      "revealed": false,
      "social_data_status": "processed",
      "social_platforms": [],
      "social_profiles": [],
      "platform": "sedo",
      "auction_end_at": "2026-09-30T00:00:00Z"
    }
  ],
  "total": 1,
  "page": 1,
  "page_size": 20
}

search_pending_delete_domains Buscar dominios de eliminación pendienteLectura

Busca dominios programados para caer por fuente, geografía, categoría de negocio, extensión, reseñas y señales SEO.

Argumentos

pagination objeto · opcional

Contiene page y page_size.

business, location, tlds, platforms valores tipados · opcional

Usa claves de categoría exactas, arrays include/exclude y nombres de plataformas fuente.

business_profile, seo, social, lifecycle, sort objetos tipados · opcional

El ciclo de vida acepta scheduled_drop_after y scheduled_drop_before como instantes RFC 3339.

{
  "pagination": {
    "page": 1,
    "page_size": 20
  },
  "lifecycle": {
    "scheduled_drop_after": "2026-09-20T00:00:00Z"
  }
}

Resultado

items contiene registros de eliminación pendiente con scheduled_drop_at y plataforma fuente cuando estén disponibles. La visibilidad de dominios sigue el acceso de inventario pagado.

{
  "items": [
    {
      "domain_id": 12345,
      "status": "dropping",
      "business_type": "Plumber",
      "business_type_key": "plumber",
      "review_count": 31,
      "country_code": "US",
      "city": "Austin",
      "tld": "com",
      "revealed": false,
      "social_data_status": "processed",
      "social_platforms": [],
      "social_profiles": [],
      "scheduled_drop_at": "2026-09-21T14:00:00Z"
    }
  ],
  "total": 1,
  "page": 1,
  "page_size": 20
}

list_business_types Descubrir tipos de negocioLectura

Obtén tipos de negocio canónicos antes de buscar para que una página de resultados grande contenga solo categorías relevantes.

Argumentos

inventory cadena · obligatorio

expired, auctions o pending-delete. Los recuentos provienen solo de ese inventario.

country cadena · opcional

Código de país de dos letras, como US, usado para limitar los recuentos.

{
  "inventory": "expired",
  "country": "US"
}

Resultado

Pasa los valores business_type_key devueltos a la herramienta de búsqueda de ciclo de vida correspondiente en business.type_keys para coincidencia exacta de cualquier. El prefijo gcid no es necesario; business_type es solo texto de visualización.

{
  "items": [
    {
      "business_type_key": "roofing_contractor",
      "business_type": "Roofing contractor",
      "count": 958
    },
    {
      "business_type_key": "gutter_service",
      "business_type": "Gutter service",
      "count": 45
    }
  ]
}

list_domain_tlds Descubrir extensiones disponiblesLectura

Obtén recuentos de extensiones contextuales para un inventario de ciclo de vida, opcionalmente filtrado por país.

Argumentos

inventory cadena · obligatorio

expired, auctions o pending-delete. Los recuentos provienen solo de ese inventario.

country cadena · opcional

Código de país de dos letras, como US, usado para limitar los recuentos.

{
  "inventory": "expired",
  "country": "US"
}

Resultado

items contiene tld y count para cada extensión en el inventario y país seleccionados. El sufijo no tiene punto inicial.

{
  "items": [
    {
      "tld": "com",
      "count": 120
    },
    {
      "tld": "co.uk",
      "count": 24
    }
  ]
}

list_revealed_domains Trabajar con tu colección reveladaLectura

Busca dominios ya revelados por la cuenta propietaria de la clave. Esto no revela ni cobra por nuevos dominios.

Argumentos

page entero · opcional

Comienza en 1; omitido o 0 usa la página predeterminada.

page_size entero · opcional

1–100 resultados; omitido o 0 usa 50 por defecto.

filters objeto tipado · opcional

Usa los mismos grupos tipados de categoría, ubicación, TLD, perfil de negocio, SEO y social que la búsqueda de catálogo.

{
  "page": 1,
  "page_size": 20,
  "revealed_within": 168,
  "filters": {
    "location": {
      "countries": {
        "include": [
          "US"
        ]
      }
    }
  }
}

Resultado

items contiene nombres de dominio, marcas de tiempo de revelación, estado y campos de investigación. reveal_id identifica el registro de revelación; domain_id identifica el recurso de inventario.

{
  "items": [
    {
      "reveal_id": "00000000-0000-4000-8000-000000000001",
      "domain_id": 12345,
      "domain": "example.com",
      "revealed_at": "2026-09-16T12:00:00Z",
      "status": "expired",
      "business_type": "Plumber",
      "business_type_key": "plumber",
      "review_count": 31,
      "country_code": "US",
      "city": "Austin"
    }
  ],
  "total": 1,
  "page": 1,
  "page_size": 20
}

get_domain_details Inspeccionar un dominio accesibleLectura

Lee un dominio que has revelado, o un listado de subasta/eliminación disponible a través de tu suscripción pagada activa. Conocer un nombre completamente expirado no evita su requisito de revelación.

Argumentos

domain_id entero · obligatorio

El domain_id positivo devuelto por una herramienta de búsqueda de ciclo de vida o list_revealed_domains.

{
  "domain_id": 12345
}

Resultado

Un único objeto de detalle, no un array items. Este ejemplo muestra campos seleccionados. Los datos pueden incluir identidad de negocio, ubicación, métricas SEO, social_data, subastas y registration_links cuando estén presentes. Los datos opcionales faltantes no deben tratarse como cero.

{
  "domain_id": 12345,
  "domain": "example.com",
  "revealed_at": "2026-09-16T12:00:00Z",
  "status": "expired",
  "business_type": "Plumber",
  "business_type_key": "plumber",
  "review_count": 31,
  "country_code": "US",
  "city": "Austin",
  "auctions": [],
  "social_data": {
    "status": "processed",
    "links": [],
    "misattributed_links": []
  }
}

reveal_domains Revelar dominios elegiblesEscritura

Revela uno o más dominios de resultados de búsqueda en una solicitud. Esta es la única herramienta de escritura y cada revelación pagada exitosa puede consumir un crédito. Pide aprobación antes de llamarla.

Argumentos

domain_ids entero[] · obligatorio

De uno a 100 IDs de elementos de catálogo positivos únicos devueltos por una herramienta de búsqueda de ciclo de vida. No adivines IDs ni uses UUIDs de registros revelados.

{
  "domain_ids": [
    12345,
    67890
  ]
}

Resultado

items preserva el orden de la solicitud e informa un resultado para cada ID, incluidos fallos a nivel de elemento. credits_charged y credits_remaining resumen toda la solicitud. Una revelación no es un registro o compra de dominio.

{
  "items": [
    {
      "domain_id": 12345,
      "domain": "example.com",
      "outcome": "revealed",
      "credit_source": "subscription"
    },
    {
      "domain_id": 67890,
      "domain": "example.net",
      "outcome": "already_revealed"
    }
  ],
  "credits_charged": 1,
  "credits_remaining": 49
}

Valores de filtro y formato de resultado

La paginación, los rangos numéricos y los IDs de revelación son números JSON; los filtros booleanos son booleanos JSON. Los filtros usan objetos anidados tipados, por ejemplo { "business_profile": { "reviews": { "min": 10 } } }. Los campos desconocidos o incompatibles con el ciclo de vida se rechazan.

Los resultados incluyen structuredContent validado por esquema más el mismo JSON en content[0].text para clientes compatibles. Ejemplo:

{
  "content": [
    {
      "type": "text",
      "text": "{\"items\":[]}"
    }
  ],
  "structuredContent": {
    "items": []
  }
}

Consulta isError para fallos de herramientas. Cada herramienta publica esquemas de entrada y salida derivados de la especificación OpenAPI.

Decide cuándo se pueden gastar créditos

Requiere aprobación del cliente para cada lote de revelación. El servidor aplica permisos de clave pero no pausa una escritura permitida. Un prompt que diga "pregunta primero" no es suficiente.

  • Nombres completamente expirados: permanecen enmascarados hasta que la cuenta los revele.
  • Inventario de subasta y eliminación: una suscripción pagada activa muestra nombres y detalles sin revelación.
  • Repetir una revelación: un dominio ya revelado puede devolver un error. Después de un tiempo de espera, consulta list_revealed_domains antes de reintentar.
  • Sin operación de compra: revelar un nombre no registra ni compra un dominio.

Solución de problemas

Consulta el registro del cliente y el error de la herramienta.

401 · Clave faltante, inválida o revocada

Envía Authorization: Bearer con la clave completa en cada solicitud. Elimina comillas o espacios adicionales. Las cookies no funcionan. Reemplaza claves revocadas.

403 · Acceso de revelación o inventario denegado

Las revelaciones necesitan una clave de lectura y revelación. Los nombres de subasta y eliminación pendiente requieren una suscripción pagada activa.

400 · Argumentos inválidos o revelación rechazada

Usa números para paginación, rangos e IDs de dominio; usa los objetos de filtro anidados tipados que se muestran a continuación. Las revelaciones también devuelven 400 por falta de créditos o un dominio ya revelado.

405 · Fallo de conexión de navegador o SSE

Un GET de navegador no es una prueba de conexión. No se proporcionan flujos de eventos GET ni sesiones DELETE. Usa HTTP transmisible, no SSE heredado.

Bucle de inicio de sesión OAuth o sin lugar para ingresar un encabezado

Esto usa claves API, no un flujo de inicio de sesión OAuth. Tu cliente debe admitir un encabezado Authorization personalizado.

403 · Solicitud de origen de navegador bloqueada

Las solicitudes de navegador entre orígenes están bloqueadas. Usa un cliente MCP nativo o de backend.

Tiempo de espera, respuesta grande o error de servidor

Reduce el tamaño de página o estrecha los filtros. Las respuestas están limitadas a 64 MiB. Después de un tiempo de espera de revelación, consulta los dominios revelados antes de reintentar.

El servicio no tiene estado y no emite Mcp-Session-Id.

Mantén tu clave e investigación privadas

  • Usa una clave de solo lectura separada por cliente a menos que se necesiten revelaciones.
  • Usa un almacén de secretos o variable de entorno. Nunca confirmes una clave ni la pongas en una URL o prompt.
  • Los resultados de herramientas se comparten con tu cliente de IA. Revisa su política de datos.
  • Revoca una clave no utilizada o expuesta desde Claves API. Los clientes existentes que la usen dejarán de funcionar.