Conecta un agente de IA con MCP

Conecta Claude, ChatGPT, Cursor o Gemini al servidor MCP alojado para leer y gestionar tus ubicaciones, fichas y reseñas con tus mismas herramientas.

Listings API aloja un servidor de Model Context Protocol (MCP) en https://listingsapi.com/mcp. No hay nada que instalar ni ejecutar. Un asistente de IA compatible con MCP se conecta a esa URL, descubre una herramienta por cada endpoint REST, además de algunas herramientas de documentación, y las invoca en tu cuenta. Esta guía explica cómo conectar cada uno de los principales clientes y después verificar la conexión.

1. Conoce las herramientas disponibles para el agente

El servidor expone algo más de 60 herramientas, de las cuales aproximadamente dos tercios son de solo lectura. Los nombres corresponden a los recursos REST, por lo que locations_search, listings_premium, reviews_respond y posts_create_social hacen lo mismo que los endpoints correspondientes, con los mismos parámetros y la misma estructura de respuesta. Tres herramientas de documentación, search_docs, get_doc y get_endpoint, permiten al asistente consultar una página o el contrato de un endpoint en lugar de adivinar la estructura de los datos que debe enviar.

Familia de herramientasEjemplosRequisitos
Ubicacioneslocations_all, locations_search, locations_create, locations_updateRead para consultas, Write para crear y actualizar
Fichaslistings_premium, listings_duplicates, listings_mark_duplicateRead, Write para marcar duplicados
Cuentas conectadasconnected_accounts_list, connected_accounts_listings, connected_accounts_connect_listingRead, Write para conectar e importar
Reseñasreviews_list, reviews_get, reviews_respond, reviews_analyticsRead, Write para responder
Publicacionesposts_social_post_view, posts_create_socialRead, Write para publicar
Analíticaanalytics_google, analytics_facebook, analytics_bingRead
Cuentawhoami, get_usage, get_subscription, recent_errorsRead
Documentaciónsearch_docs, get_doc, get_endpoint, list_endpointsNinguno

Las operaciones destructivas, como eliminar una publicación o archivar una ubicación, no se exponen como herramientas. Usa la API REST o un SDK para esas operaciones, de modo que un asistente no pueda eliminar datos por su cuenta.

2. Elige cómo inicia sesión el cliente

Cada cliente se autentica de una de dos formas. Ambas se traducen en la misma clave de API en el servidor, por lo que los límites de solicitudes y los informes de uso son idénticos.

MétodoQué pegasIdeal para
Cabecera de clave de APIAuthorization: API <your key> como cabecera estáticaInterfaces de línea de comandos y editores en los que controlas el archivo de configuración
OAuth 2.0Nada. El cliente abre un navegador, inicias sesión y apruebas read o read writeAsistentes alojados como Claude y ChatGPT, o cualquier persona que no deba tener una clave en su forma original

OAuth usa el flujo de código de autorización con PKCE y el registro dinámico de clientes, por lo que un cliente no necesita credenciales emitidas previamente. Los metadatos están en https://listingsapi.com/.well-known/oauth-authorization-server. Los ámbitos son read y write; un cliente que no solicita ninguno recibe read. Cada aprobación crea una clave exclusiva para esa conexión, que puedes revocar desde /dashboard/keys como cualquier otra clave.

3. Conecta Claude

Claude.ai y Claude Desktop. El servidor aparece en el directorio de conectores, por lo que la forma más rápida es abrir https://claude.ai/directory/listings-api y hacer clic en Connect (Conectar). Claude ejecuta el flujo de OAuth, tú apruebas los ámbitos y las herramientas están disponibles en cualquier chat en el que actives el conector mediante el botón + y después Connectors (Conectores).

Si prefieres añadirlo mediante una URL, ve a Customize (Personalizar), después a Connectors (Conectores), haz clic en + y en Add custom connector (Añadir conector personalizado), pega https://listingsapi.com/mcp y haz clic en Add (Añadir). Deja Advanced settings (Configuración avanzada) vacío; el servidor registra Claude como cliente automáticamente. En los planes Team y Enterprise, un propietario añade el conector en Organization settings (Configuración de la organización) y después en Connectors (Conectores), y los miembros hacen clic en Connect (Conectar) en ese conector a continuación. Claude se conecta desde los servidores de Anthropic, no desde tu equipo, por eso es importante la URL alojada.

Claude Code. Un solo comando añade el servidor con tu clave:

Claude Code
claude mcp add --transport http listingsapi https://listingsapi.com/mcp \--header "Authorization: API $LISTINGSAPI_KEY"

Omite la opción --header y ejecuta /mcp dentro de Claude Code para iniciar sesión a través del navegador en su lugar. Usa --scope project para guardar en el control de versiones la configuración del servidor en un archivo .mcp.json compartido por todo el equipo; no incluyas ninguna clave al hacerlo.

4. Conecta ChatGPT

ChatGPT se conecta a servidores MCP remotos mediante un conector personalizado una vez que se activa Developer mode (modo de desarrollador). Está disponible en los planes Plus, Pro, Business, Enterprise y Edu, pero no en el plan gratuito.

  1. Abre Settings (configuración) desde el menú de tu perfil y activa Developer mode (modo de desarrollador). Según la versión, se encuentra en Apps & Connectors (aplicaciones y conectores) o en Security and login (seguridad e inicio de sesión).
  2. En la página de conectores (denominada Plugins (complementos) en las versiones actuales), haz clic en + o en Create (crear).
  3. Introduce un nombre, pega https://listingsapi.com/mcp como URL del servidor y elige OAuth para la autenticación. Guarda los cambios.
  4. ChatGPT abre la página de inicio de sesión. Aprueba read o read write.
  5. En un chat nuevo, abre el menú de herramientas, selecciona el conector y confirma que aparece con sus herramientas. Las herramientas de escritura siguen requiriendo una confirmación.

Codex CLI. El agente de terminal de OpenAI lee los servidores MCP de ~/.codex/config.toml. Codex inicia OAuth por su cuenta para los servidores HTTP y respeta los ámbitos anunciados, por lo que la línea de la cabecera es opcional:

~/.codex/config.toml
[mcp_servers.listingsapi]url = "https://listingsapi.com/mcp"http_headers = { "Authorization" = "API <your key>" }

5. Conecta Cursor

La página del panel en /dashboard/mcp tiene un botón Add to Cursor (añadir a Cursor). Este abre un enlace de instalación de Cursor con la URL del servidor y tu clave ya rellenadas, por lo que basta un clic para completar la configuración.

Para configurarlo manualmente, añade el servidor a ~/.cursor/mcp.json para todos los proyectos, o a .cursor/mcp.json dentro de un repositorio:

~/.cursor/mcp.json
{"mcpServers": {  "listingsapi": {    "url": "https://listingsapi.com/mcp",    "headers": {      "Authorization": "API <your key>"    }  }}}

Elimina el bloque headers para iniciar sesión con OAuth en su lugar: Cursor muestra un botón Connect (conectar) en la entrada del servidor, dentro de Settings (configuración) y luego MCP, y abre el flujo en el navegador. Nunca incluyas una clave en un commit dentro de un archivo .cursor/mcp.json a nivel de proyecto; usa el archivo global u OAuth para los repositorios compartidos.

6. Conecta Gemini

Gemini CLI. El agente de terminal de Google acepta servidores remotos en ~/.gemini/settings.json (o en .gemini/settings.json dentro de un proyecto). Usa httpUrl, no url, para que seleccione el transporte Streamable HTTP:

~/.gemini/settings.json
{"mcpServers": {  "listingsapi": {    "httpUrl": "https://listingsapi.com/mcp",    "headers": {      "Authorization": "API <your key>"    },    "timeout": 30000  }}}

Para usar OAuth, sustituye el bloque headers por "oauth": { "enabled": true }, inicia la CLI y ejecuta /mcp auth listingsapi. Ejecuta /mcp en cualquier momento para ver el servidor, su estado de conexión y las herramientas que ha descubierto.

Aplicación Gemini. La aplicación Gemini para consumidores no tiene una opción de configuración de conectores personalizados. Los servidores MCP personalizados están disponibles para los administradores de equipos de la edición Business de Gemini Enterprise: inicia sesión en business.gemini.google, abre Settings & help (configuración y ayuda), luego Manage team (gestionar equipo) y Connected apps (aplicaciones conectadas), y haz clic en Add MCP Server (añadir servidor MCP). Pega https://listingsapi.com/mcp como URL. El formulario solicita los datos de OAuth: la URL de autorización es https://listingsapi.com/oauth/authorize, la URL del token es https://listingsapi.com/oauth/token y los ámbitos son read write. También solicita un ID de cliente y un secreto de cliente. Este servidor emite clientes PKCE públicos sin secreto, así que registra uno con la URL de redirección que muestra el formulario y deja el secreto en blanco si el formulario lo permite:

Register an OAuth client
curl -s https://listingsapi.com/oauth/register \-H "Content-Type: application/json" \-d '{  "client_name": "Gemini Business",  "redirect_uris": ["<redirect URL shown in the Gemini form>"],  "grant_types": ["authorization_code", "refresh_token"],  "token_endpoint_auth_method": "none"}'

La respuesta contiene client_id. Si tu formulario de Gemini exige un secreto, usa la opción de Gemini CLI descrita anteriormente o desarrolla con la API de Gemini en su lugar.

Desarrollo con la API de Gemini. El SDK de la API de Gemini acepta una sesión de cliente MCP como herramienta, por lo que un script puede proporcionar las mismas herramientas a un modelo de Gemini:

gemini_agent.py
import asyncio, osfrom google import genaifrom mcp import ClientSessionfrom mcp.client.streamable_http import streamablehttp_client HEADERS = {"Authorization": "API " + os.environ["LISTINGSAPI_KEY"]} async def main():  gemini = genai.Client()  async with streamablehttp_client("https://listingsapi.com/mcp", headers=HEADERS) as (r, w, _):      async with ClientSession(r, w) as session:          await session.initialize()          reply = await gemini.aio.models.generate_content(              model="gemini-2.5-pro",              contents="Which of my locations have a Google listing that is not live yet?",              config=genai.types.GenerateContentConfig(tools=[session]),          )          print(reply.text) asyncio.run(main())

7. Verifica la conexión

Antes de confiar en el asistente, confirma que el servidor te responde directamente. El descubrimiento de herramientas no requiere una clave, por lo que esta llamada se completa correctamente con cualquier cliente que pueda acceder a la URL:

List the tools
curl -s https://listingsapi.com/mcp \-H "Content-Type: application/json" \-H "Accept: application/json, text/event-stream" \-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | head -c 400

Después, dentro del asistente, solicita algo que requiera acceder a tu cuenta:

Usa las herramientas de listingsapi para decirme con qué cuenta estoy conectado, cuántas ubicaciones tiene y cuál es mi uso de la API este mes.

Una conexión correcta responde a partir de whoami, locations_all y get_usage con el id real de tu cuenta y los recuentos reales. Una clave incorrecta o caducada da lugar a un error Unauthenticated en la primera llamada a una herramienta, no durante el descubrimiento.

Estas son algunas buenas instrucciones para el agente con las que empezar una vez que funcione:

  • "Enumera mis ubicaciones que tengan errores en las fichas y resume cada error."
  • "Muestra las reseñas recibidas en los últimos 7 días que no tengan respuesta y redacta una respuesta para cada una. No las envíes todavía."
  • "Compara las analíticas del perfil de Google de la ubicación 1800289 entre los últimos dos meses."
  • "Lee el contrato del endpoint create-location y luego añade esta ubicación: ..."

Añade las habilidades de listingsAPI para agentes

Las habilidades son instrucciones que un agente carga cuando una tarea coincide con su ámbito, para seguir un flujo de trabajo probado en lugar de idear uno. Funcionan junto con el servidor MCP: el servidor realiza las llamadas y la habilidad decide cuáles realizar y en qué orden. Hay cinco habilidades de listingsAPI publicadas en skills.sh desde el repositorio público listingsapi-mcp:

HabilidadQué hace
listingsapi-integrationAñade la Listings API a tu aplicación: autenticación, una primera lectura, ubicaciones, conexiones con plataformas de publicación y estado de sincronización, mediante código REST o de un SDK.
listingsapi-listing-auditComprueba el estado de sincronización, los enlaces activos y los posibles duplicados de las ubicaciones y sus fichas, y luego propone correcciones. Solo realiza operaciones de lectura hasta que apruebes una corrección.
listingsapi-review-managementCrea una cola de reseñas, da prioridad a las reseñas sin respuesta, redacta respuestas y publica solo las que apruebes.
listingsapi-multi-location-postingPrepara y publica anuncios, eventos y ofertas en Google Business Profile y Facebook para las ubicaciones que elijas, y luego comprueba cada resultado.
listingsapi-performance-reportingGenera informes de rendimiento y reseñas de tus ubicaciones mediante operaciones de solo lectura.

Instala las cinco en tu proyecto con la CLI de Skills:

All skills
npx skills add listings-api/listingsapi-mcp

O instala una por su nombre y elige el agente con -a:

One skill, for Claude Code
npx skills add listings-api/listingsapi-mcp --skill listingsapi-integration -a claude-code

Usa -a cursor o -a codex para esos agentes y añade -g para instalarla en todos los proyectos en lugar de solo en el actual.

Encuentra listingsAPI en directorios de herramientas de IA

El mismo servidor aparece en estos directorios, junto con la habilidad de listingsAPI para agentes. Instálalo desde el directorio que ya utiliza tu cliente. Todas las entradas del servidor MCP apuntan a https://listingsapi.com/mcp.

DirectorioQué aparece
Directorio de conectores de ClaudeEl servidor MCP como conector de Claude. Haz clic en Connect (Conectar) e inicia sesión.
Registro oficial de MCPEl servidor MCP, registrado como com.listingsapi/mcp.
Cursor DirectoryEl servidor MCP como complemento de Cursor.
GlamaEl servidor MCP.
SmitheryEl servidor MCP.
MCP.soEl servidor MCP.
mcpservers.orgEl servidor MCP.
ClawHub (OpenClaw)La habilidad de listingsAPI para agentes.
skills.shLa habilidad de listingsAPI para agentes.

Solución de problemas

SíntomaCausaSolución
401 en la primera llamada a una herramientaLa clave está mal escrita o revocada, o el encabezado no contiene la palabra literal API seguida de un espacioVuelve a crear la clave en /dashboard/keys y pégala como API <key>
SY90016 en una operación de escrituraClave de lectura o ámbito readVuelve a conectarte con una clave de escritura o aprueba write
429 con Retry-AfterEl agente realiza llamadas a una frecuencia superior a la que permite tu planPídele que trabaje en lotes más pequeños; consulta Límites de frecuencia
El cliente indica que no puede conectarse al servidorEl cliente solo admite stdio o SSEUsa un cliente que admita Streamable HTTP o el puente mcp-remote que se muestra en /dashboard/mcp
Falta una herramienta mencionada en la documentaciónLas herramientas destructivas no están expuestasUsa REST o un SDK para archivar y eliminar

Próximos pasos