HasData Google Maps MCP Server

Lugares de Google Maps, reseñas, historial de contribuyentes, fotos y publicaciones como JSON, sin proyecto de Google Cloud.

Documentación

Servidor MCP de Google Maps

Un servidor de Protocolo de Contexto de Modelo (MCP) alojado que brinda a Claude, Cursor, Windsurf y cualquier otro cliente MCP seis herramientas de solo lectura de Google Maps. Busca lugares, lee un lugar completo, obtén sus reseñas, fotos y publicaciones, y recorre el historial de un solo reseñador, todo como JSON estructurado, sin proyecto de Google Cloud ni facturación que activar.

1,000 créditos gratuitos cada mes, sin necesidad de tarjeta, lo que equivale a 100 llamadas a la tarifa de 10 créditos.

https://mcp.hasdata.com/mcp?apis=google_maps

Glama score tool contract MCP Tools

Contenido

Lo que necesitas

Un cliente MCP que hable HTTP transmisible con encabezados personalizados. Una clave de API de HasData desde el panel de control, gratuita de crear sin tarjeta, y el nivel gratuito cubre alrededor de 100 llamadas al mes a la tarifa de 10 créditos. Nada más. Este es un servidor remoto, por lo que la ruta más simple es una URL y un encabezado, sin contenedor que ejecutar y sin proyecto de Google Cloud ni clave de API en ningún lugar del flujo. Un cliente solo stdio puede usar el lanzador @hasdata/google-maps-mcp (npm) o hasdata-google-maps-mcp (PyPI) en su lugar.

Inicio rápido

URLhttps://mcp.hasdata.com/mcp?apis=google_maps
TransporteHTTP, transmisible
Encabezado de autenticaciónx-api-key: HASDATA_API_KEY

La URL del servidor es la misma para cada cliente. Lo ejecutamos de forma práctica en Claude Code y Claude Desktop. Los otros bloques siguen el formato documentado de cada cliente para un servidor remoto.

Los clientes con soporte OAuth pueden agregar la misma URL como conector e iniciar sesión sin poner una clave en un archivo de configuración.

Claude Code
claude mcp add --transport http google-maps "https://mcp.hasdata.com/mcp?apis=google_maps" \
  --header "x-api-key: HASDATA_API_KEY"
Claude Desktop

Claude Desktop carga solo servidores locales (stdio) desde su archivo de configuración, por lo que llega a un servidor remoto a través de un lanzador stdio. El paquete @hasdata/google-maps-mcp es ese lanzador, y lee la clave del entorno.

claude_desktop_config.json:

{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": ["-y", "@hasdata/google-maps-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

¿Python en lugar de Node? Cambia el lanzador por el paquete PyPI, que uvx se ejecuta sin instalación manual:

{
  "mcpServers": {
    "google-maps": {
      "command": "uvx",
      "args": ["hasdata-google-maps-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

Un cliente con soporte OAuth puede, en cambio, agregar la URL como un conector personalizado y omitir el lanzador.

Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "google-maps": {
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "google-maps": {
      "serverUrl": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Cline
{
  "mcpServers": {
    "google-maps": {
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "type": "streamableHttp",
      "headers": { "x-api-key": "HASDATA_API_KEY" },
      "disabled": false
    }
  }
}
VS Code

.vscode/mcp.json:

{
  "servers": {
    "google-maps": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Gemini CLI

~/.gemini/settings.json:

{
  "mcpServers": {
    "google-maps": {
      "httpUrl": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

Ejemplos de prompts

Cada uno de estos es una llamada de herramienta a menos que el recuento indique lo contrario.

Busca en Google Maps café cerca del centro de Seattle y dame los diez mejores con su calificación, número de reseñas y sitio web.

Una llamada, 10 créditos. La búsqueda devuelve los lugares con placeId y dataId ya adjuntos, y los seguimientos a continuación no necesitan paso de búsqueda.

Obtén los detalles completos de ChIJAb0KE0RrkFQRuI4X0By5Mcw: horarios, opciones de servicio, nivel de precio y el enlace del menú.

Una llamada, 10 créditos.

Lee las reseñas más recientes de ese lugar, ordenadas de más nuevas a más antiguas, y dime qué temas aparecen con más frecuencia.

Una llamada, 10 créditos. La respuesta incluye los grupos de temas propios de Google con un recuento de menciones cada uno, y la clasificación está en los datos.

Toma al autor de la reseña principal y enumera todos los demás lugares que ha reseñado, con la calificación que dejó.

Una llamada, 10 créditos. Una reseña lleva el contributorId de su autor, que es exactamente lo que la herramienta de contribuyente toma como entrada.

Obtén el feed de fotos de ese lugar y las publicaciones recientes del negocio.

Dos llamadas. Las fotos y las publicaciones cuestan 10 créditos cada una.

Dos cosas hacen que estas cadenas sean económicas. La búsqueda devuelve placeId y dataId en cada resultado, y las llamadas de detalle, reseña, foto y publicación no necesitan un paso de resolución separado. Y una reseña lleva el contributorId del autor, lo que convierte "quién dejó esta reseña" en un salto de una llamada a todo su historial.

Herramientas

HerramientaQué devuelve
hasdata_google_maps_contributor_reviews_getMapReviewsCalificación por reseña, texto, fecha, nombre del lugar, dirección del lugar, placeId, fotos y respuestas del propietario. 10 créditos por llamada
hasdata_google_maps_photos_getMapPhotosCada foto con URL de imagen, miniatura, fecha de carga, cargador y photoId. 10 créditos por llamada
hasdata_google_maps_place_getPlaceDetailsNombre, dirección, coordenadas, teléfono, sitio web, categorías, horarios, calificación, número de reseñas, nivel de precio, fotos, horarios populares, atributos/comodidades, plus_code y URL del mapa. 10 créditos por llamada
hasdata_google_maps_posts_getMapPostsTítulo por publicación, descripción, imagen, posted_at, enlace y nombre de fuente/negocio. 10 créditos por llamada
hasdata_google_maps_reviews_getMapReviewsNombre del autor por reseña y enlace de perfil, calificación de estrellas, texto, fecha publicada/relativa, recuento de me gusta, respuesta del propietario, fotos adjuntas y bandera de guía local. 10 créditos por llamada
hasdata_google_maps_search_performMapSearchLa lista del paquete local con placeId, nombre, dirección, coordenadas, calificación, número de reseñas, nivel de precio, categorías, teléfono, sitio web, horarios y miniatura. 10 créditos por llamada

Seis herramientas, todas de solo lectura. Los ejemplos a continuación están recortados de llamadas reales, y los números en ellos cambian a medida que los lugares ganan reseñas. Léelos como formas. Cada nombre de herramienta enlaza a su referencia de endpoint.

Los ejemplos son el payload, no la respuesta completa. Un resultado tools/call lleva un bloque de texto, y ese texto es en sí mismo JSON que contiene url, status, text y json, con los datos extraídos bajo json. Desde una respuesta JSON-RPC cruda, la ruta es result.content[0].text, analizado, luego .json. Un cliente de chat desenvuelve eso por ti, y el código que habla directamente con el endpoint no lo hace.

Cuatro de las herramientas aceptan un lugar mediante placeId o dataId. La búsqueda devuelve ambos en cada resultado. El flujo habitual es una búsqueda seguida de llamadas de detalle, reseña, foto o publicación que reutilizan el id que hayas conservado.

Buscar en Google Maps

hasdata_google_maps_search_performMapSearch

Lugares para una consulta, clasificados como Google Maps los clasifica.

ParámetroTipoRequeridoNotas
qstringsíConsulta de texto libre, por ejemplo coffee o plumber
llstringCentro del mapa y zoom como @lat,lng,zoomz, por ejemplo @47.6062,-122.3321,14z. Así es como fijas la búsqueda a un lugar
gl / hlstringCódigos de país e idioma de dos letras
domainstringDominio de Google para consultar, por ejemplo google.com
startnumberDesplazamiento de resultados para paginación, en pasos de 20. Requiere que ll también esté configurado

Cada resultado lleva position, title, placeId, dataId, address, gpsCoordinates, rating, reviews, type, types, price, website, thumbnail, openState, workingHours, serviceOptions y, donde Google muestra uno, un enlace menu.

La ubicación vive en ll, no en la consulta. Pon el centro del mapa y el zoom allí, porque "café" solo devuelve donde Google decida que estás. El dígito del zoom amplía o reduce el área de la que se extraen los resultados.

{
  "localResults": [
    {
      "position": 1,
      "title": "Howdy Y'all Coffee (Central Library)",
      "placeId": "ChIJAb0KE0RrkFQRuI4X0By5Mcw",
      "dataId": "0x54906b44130abd01:0xcc31b91cd0178eb8",
      "address": "1000 4th Ave Fl 3, Seattle, WA 98104",
      "rating": 4.9,
      "reviews": 117,
      "type": "Coffee shop",
      "website": "https://howdyyallcoffee.com/",
      "workingHours": {
        "timezone": "America/Los_Angeles",
        "days": [ { "day": "Friday", "time": "10 AM–4 PM" } ]
      }
    }
  ]
}

Obtener detalles del lugar

hasdata_google_maps_place_getPlaceDetails

Un lugar completo mediante placeId.

ParámetroTipoRequeridoNotas
placeIdstringsíEl placeId de un resultado de búsqueda
hlstringCódigo de idioma
domainstringDominio de Google

Devuelve un único objeto placeResults con los mismos campos que lleva un resultado de búsqueda, más un array images. Es la forma de obtener el registro completo de un lugar sin ejecutar una búsqueda que no necesitas.

Obtener reseñas del lugar

hasdata_google_maps_reviews_getMapReviews

El feed de reseñas de un lugar, página por página.

ParámetroTipoRequeridoNotas
placeIdstringEl lugar. Debe estar presente placeId o dataId
dataIdstringEl lugar como dataId en su lugar
sortBystringmostRelevant por defecto, más newestFirst, ratingHigh y ratingLow
topicIdstringFiltrar a un tema, usando un id del array topics
hlstringCódigo de idioma
nextPageTokenstringEl pagination.nextPageToken de la respuesta anterior

Devuelve placeInfo, un array topics, un array reviews y pagination. Cada reseña lleva reviewId, rating, snippet, date, isoDate, link, images, un objeto user y, donde el propietario respondió, un response.

topics es la agrupación propia de Google de lo que mencionan las reseñas, cada una con un keyword y un recuento de mentions, y los temas vienen precontados en lugar de requerir que leas cada reseña. Alimenta el id de un tema de vuelta como topicId para leer solo las reseñas que lo mencionan.

El user de cada reseña lleva un contributorId. Ese es el dato que toma la herramienta de contribuyente, por lo que "quién escribió esto" está a una llamada de distancia de "todo lo que escribieron".

{
  "placeInfo": { "title": "Howdy Y'all Coffee (Central Library)", "rating": 4.9, "reviews": 117 },
  "topics": [
    { "keyword": "earl grey matcha", "mentions": 26, "id": "bew1w_KAk5U" },
    { "keyword": "friendly baristas", "mentions": 17, "id": "FOw-91tYieQ" }
  ],
  "reviews": [
    {
      "reviewId": "…",
      "rating": 5,
      "snippet": "…",
      "isoDate": "2026-07-06T19:49:00.657Z",
      "user": { "name": "Angela Li", "contributorId": "106033685843245983748" },
      "response": { "isoDate": "2026-07-07T04:44:34.000Z", "snippet": "Thank you!! 🥺☺️" }
    }
  ],
  "pagination": { "nextPageToken": "…" }
}

Obtener reseñas de un contribuyente

hasdata_google_maps_contributor_reviews_getMapReviews

Todas las reseñas que una persona ha escrito, en todos los lugares que calificó.

ParámetroTipoRequeridoNotas
contributorIdstringsíEl contributorId del objeto user de una reseña
numnumberCuántas reseñas devolver
gl / hlstringCódigos de país e idioma
nextPageTokenstringToken de la respuesta anterior

Devuelve un objeto contributor con name, level, points y un desglose contributions, y un array reviews donde cada entrada lleva su propio placeInfo, y ves de qué lugar trata cada reseña sin una segunda búsqueda. Esta es la herramienta detrás del trabajo de credibilidad de reseñadores y redes de reseñas que el feed de reseñas solo no puede hacer. Lee el historial público de reseñas de una persona, así que usa los resultados dentro de los términos de Google y la ley que te aplica.

Obtener fotos del lugar

hasdata_google_maps_photos_getMapPhotos

El feed de fotos de un lugar.

ParámetroTipoRequeridoNotas
placeIdstringEl lugar. Debe estar presente placeId o dataId
dataIdstringEl lugar como dataId en su lugar
categoryIdstringFiltrar a una categoría, usando un id del array categories
hlstringCódigo de idioma
nextPageTokenstringToken de la respuesta anterior

Devuelve un array categories (All, Latest, Videos, Menu y los específicos del lugar), un array photos donde cada entrada tiene URLs image y thumbnail, y pagination.

Obtener publicaciones del lugar

hasdata_google_maps_posts_getMapPosts

Las publicaciones y actualizaciones propias del negocio en su ficha de Google.

ParámetroTipoRequeridoNotas
placeIdstringEl lugar. Debe estar presente placeId o dataId
dataIdstringEl lugar como dataId en su lugar
hlstringCódigo de idioma

Devuelve un array posts. Esta herramienta no pagina. Las reseñas y fotos toman un nextPageToken, esta no, y devuelve lo que muestra la ficha.

La mayoría de los lugares no publican nada, así que un array posts vacío es el caso común. Lee la longitud antes de asumir que hay una publicación.

Prompts y recursos

El servidor incluye 2 prompts, flujos de trabajo listos que un cliente puede ofrecer en lugar de hacer que el usuario componga una llamada de herramienta.

PromptQué hace
google_maps_searchEncuentra negocios y lugares en Google Maps.
google_maps_reviewsResume lo que dicen los reseñadores sobre un lugar.

Junto a ellos, el servidor expone 4 recursos, uno por parámetro cuyos valores aceptados son una lista fija. Leer uno es más barato que aprender el vocabulario de una llamada rechazada, y no cuesta créditos. Cada URI es hasdata://google_maps/<parameter>.

ParámetroValoresQué selecciona
hl159El código de idioma de dos letras para el idioma que quieres usar en la búsqueda.
gl245El código de país de dos letras para el país al que quieres limitar la búsqueda.
domain195Dominio de Google a usar. El predeterminado es google.com.
sortBy4Parámetro usado para ordenar y refinar resultados.

Ambas listas se sirven sin clave de API, así que un cliente puede leerlas antes de que un usuario se registre.

Errores y rutas de fallo

Tu cliente casi nunca ve un código de error HTTP de una llamada de herramienta. La capa MCP responde 200 y pone el fallo dentro del resultado, con isError establecido a true y el motivo como texto. El agente lee un mensaje donde podrías esperar una línea de estado.

Una clave incorrecta aparece como salida de herramienta, no como conexión fallida. Las herramientas de listado aceptan cualquier clave no vacía, y el cliente completa su protocolo de enlace y muestra verde. La primera llamada de herramienta entonces vuelve con isError: true y el texto HasData API error: 401 Unauthorized. Vigila esa cadena, porque nada antes en el flujo informa del problema.

El único error HTTP real es una clave faltante. La autorización se ejecuta antes de cualquier herramienta, y la conexión misma falla con 401.

Un argumento que rompe el esquema se rechaza antes de convertirse en una solicitud. Una búsqueda sin q vuelve con isError: true y el texto MCP error -32602: Input validation error, nombrando el campo. No se obtiene nada y no se cobra nada.

Una llamada de reseña, foto o publicación necesita un lugar. Esas tres toman placeId o dataId, y enviar ninguna devuelve 422 nombrando ambos campos, porque el requisito es condicional y el esquema no puede expresarlo como una lista requerida simple. Pasa uno.

Un id de lugar que no se resuelve es un error limpio, no datos vacíos. Devuelve isError: true con HasData API error: 400 Bad Request y requestMetadata.status establecidos a error. Prueba la bandera en lugar de la longitud del array.

Un posts vacío es dato real. La mayoría de las fichas no tienen publicaciones, así que la llamada tiene éxito con status ok y un array vacío. El lugar simplemente no tiene nada publicado.

Los resultados que llevan datos también llevan un requestMetadata.id que vale la pena citar en soporte, además de enlaces html y json al artefacto almacenado de esa llamada exacta.

Precios, nivel gratuito y límites

Búsqueda, detalles del lugar, reseñas, reseñas de contribuyentes y fotos cuestan 10 créditos por llamada exitosa. Las publicaciones cuestan 10. El tamaño de la respuesta no cambia el precio. Una página completa de reseñas cuesta lo mismo que una página con una.

El nivel gratuito es 1,000 créditos cada mes sin tarjeta, que son 100 llamadas a la tarifa de 10 créditos. Se renueva con el ciclo de facturación, así que un agente de bajo volumen funciona en el nivel gratuito indefinidamente.

Los planes de pago comienzan en $59 al mes por 200,000 créditos, que son 40,000 llamadas de cinco créditos. El precio por crédito baja con el volumen, y los números actuales viven en la página de precios.

Tu plan también establece la concurrencia. El nivel gratuito permite 1 solicitud a la vez, Startup 5, Basic 15, y los niveles Growth van de 50 a 500. La concurrencia es el único límite. No hay un tope separado de solicitudes por minuto, y el nivel gratuito no se ralentiza ni se recorta de ninguna otra manera. Maneja el caso de desbordamiento de forma defensiva en cualquier cosa desatendida, porque un agente que se expande por lugares alcanzará el techo antes que tú.

Paginación cuesta una llamada cada vez. Las reseñas vienen unas diez por página, así que cien reseñas son aproximadamente diez llamadas y 100 créditos, mientras que las fotos vienen veinte por página. El nivel gratuito llega lejos antes de que lo sientas.

Selección de herramientas

?apis=google_maps expone exactamente estas seis herramientas. El parámetro toma una lista, y ?apis=google_maps,google_serp añade la búsqueda de Google junto a las herramientas de mapas. Elimina el parámetro y obtienes todo lo que HasData expone, que actualmente son 57 herramientas.

Una lista estrecha suele ser el mejor predeterminado. Un modelo que elige entre seis herramientas acierta más a menudo que uno que elige entre cincuenta y siete, y las descripciones de herramientas cuestan contexto en cada turno.

Cómo se compara

Casi todos los demás servidores MCP de Google Maps envuelven la Plataforma oficial de Google Maps, y esa es la elección real a sopesar.

Esos servidores llaman a las APIs de Places, Routes y Geocoding con tus propias credenciales de Google Cloud. Para ejecutar uno, creas un proyecto de Google Cloud, habilitas la facturación con una tarjeta, activas cada API y gestionas una clave y sus cuotas. Esa es la herramienta correcta cuando quieres enrutamiento, geocodificación y validación de direcciones, que este servidor no hace.

Este servidor lee lo que Google Maps muestra a un visitante y lo devuelve analizado. No hay proyecto de Google Cloud, ni facturación que habilitar, ni cuota por API que gestionar. También alcanza datos que la API de Places no entrega: el feed completo de reseñas en lugar de una pequeña muestra fija, el historial completo de un solo reseñador, el feed de fotos y las publicaciones del negocio.

Envoltorio de Plataforma oficialEste servidor
Lo que configurasUn proyecto de Google Cloud, facturación, claves y cuotas por APIUna clave de API, una vez
Enrutamiento, geocodificación, validación de direccionesSíNo ofrecido
ReseñasUna pequeña muestra fija por lugarEl feed, paginado, con grupos de temas
El historial de un reseñadorNo disponibleSí, por contributorId
Fotos y publicacionesLimitadoFeed de fotos y publicaciones del negocio
SalidaJSON según el esquema de la PlataformaJSON analizado de lo que ve un visitante
CostoPrecios por llamada de Google en tu factura10 créditos por llamada, 10 por publicaciones

La decisión se reduce a dos filas. Si necesitas direcciones o convertir una dirección en coordenadas, este servidor no puede ayudarte y la Plataforma sí. Si necesitas las reseñas detrás de las primeras, o quién es un reseñador en todos los lugares que ha calificado, la Plataforma no puede ayudarte y esto sí.

Lo que este servidor no hace. Sin enrutamiento, sin geocodificación, sin validación de direcciones, sin matriz de distancias y nada que escriba. Lee el mapa.

Preguntas frecuentes

¿Qué es un servidor MCP de Google Maps?

Un servidor que expone datos de Google Maps como herramientas que un cliente de IA puede llamar. El cliente envía una llamada de herramienta a través del Protocolo de Contexto de Modelo, el servidor obtiene los datos y devuelve JSON estructurado, y el modelo trabaja con el resultado y nunca ve una página de HTML. Este expone seis herramientas de solo lectura y se ejecuta de forma remota. El cliente se conecta a una URL y no inicia ningún proceso local.

¿Hay un servidor MCP oficial de Google Maps?

Google no publica uno de propósito general. Está la Plataforma de Google Maps, un conjunto de APIs de pago que llamas con tu propio proyecto de Cloud, y varios servidores MCP de la comunidad la envuelven. Este servidor es una alternativa alojada que no necesita proyecto de Cloud.

¿Necesito un proyecto de Google Cloud o una clave de API de Maps?

No. La única credencial es tu clave de HasData. No hay proyecto de Google Cloud que crear, ni facturación que habilitar, ni cuota por API que gestionar.

¿Cuál es la diferencia entre placeId y dataId?

Son dos ids que Google usa para el mismo lugar. La búsqueda devuelve ambos en cada resultado, y las herramientas de detalle, reseña, foto y publicación aceptan cualquiera. Guarda el que prefieras del resultado de búsqueda y reutilízalo.

¿Cómo obtengo todas las reseñas, no solo la primera página?

Lee pagination.nextPageToken de cada respuesta y pásalo de vuelta como nextPageToken hasta que deje de venir. Cada página es una llamada.

¿Necesito alojar o ejecutar algo?

No. Este es un servidor MCP remoto en HTTP transmisible. Nada que instalar, sin entorno de Python, sin proceso que reiniciar.

¿Los datos son en vivo o en caché?

En vivo. Cada llamada obtiene en el momento de la solicitud y lleva su propio requestMetadata.id. Dos llamadas idénticas son dos obtenciones separadas y no una reproducción de una copia almacenada.

¿Puedo usar un servidor para varias superficies de Google?

Sí. El parámetro apis toma una lista, y ?apis=google_maps,google_serp le da a tu agente las herramientas de mapas más la búsqueda de Google a la vez.

¿La clave de API expira?

No. La clave no expira. Rótala en el panel cuando lo necesites.

¿Está afiliado a Google?

No. HasData es un servicio independiente y no está afiliado, respaldado ni patrocinado por Google. Google y Google Maps son marcas comerciales de su respectivo propietario. Las herramientas trabajan solo con datos disponibles públicamente, y eres responsable de usar los resultados de acuerdo con los términos de Google y la ley que te aplica.

Enlaces de HasData

Páginas de productoBúsqueda, Reseñas, Fotos y Publicaciones
Documentación del servidorDocs del servidor MCP
Las 57 herramientas en un servidorHasData/hasdata-mcp
Tutoriales de clientesClientes e integraciones MCP
Las otras superficies que analizamos53 APIs de scraping más
Planes y costos de créditosPlanes y costos de créditos
Claves y usoPanel de HasData
Lanzador de Node en npm@hasdata/google-maps-mcp
Lanzador de Python en PyPIhasdata-google-maps-mcp

Desarrollo

Este repositorio es configuración y documentación para un servidor remoto. No hay paso de compilación ni nada que contenerizar.

Sí lleva una prueba de contrato. El README promete seis herramientas con parámetros específicos, y la lista de herramientas ascendente puede cambiar sin un commit aquí, lo que dejaría este archivo mintiéndote silenciosamente. La prueba afirma la promesa y se ejecuta semanalmente en CI además de en cada push.

HASDATA_API_KEY=your_key_here npm test

En PowerShell:

$env:HASDATA_API_KEY = "your_key_here"; npm test

La última verificación hace una llamada real y cuesta 10 créditos, que es el precio de un canario que puede fallar por la razón correcta. Listar herramientas tiene éxito con cualquier clave no vacía, y una prueba que solo lista herramientas se mantiene verde con una revocada.

Contribuir

Correcciones a las tablas de herramientas y a los ejemplos de respuestas son la contribución más útil, porque esas son las partes que se desactualizan. Incluye la llamada que realizaste y la respuesta que obtuviste. Las solicitudes de extracción desde bifurcaciones ejecutan la suite sin una clave, y las comprobaciones en vivo se omiten en lugar de marcarse en rojo.

Licencia

MIT. Consulta LICENSE.