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
Contenido
- Lo que necesitas
- Inicio rápido
- Ejemplos de prompts
- Herramientas
- Errores y rutas de fallo
- Precios, nivel gratuito y límites
- Selección de herramientas
- Cómo se compara
- Preguntas frecuentes
- Enlaces de HasData
- Desarrollo
- Contribuciones
- Licencia
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
| URL | https://mcp.hasdata.com/mcp?apis=google_maps |
| Transporte | HTTP, transmisible |
| Encabezado de autenticación | x-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
| Herramienta | Qué devuelve |
|---|---|
hasdata_google_maps_contributor_reviews_getMapReviews | Calificació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_getMapPhotos | Cada foto con URL de imagen, miniatura, fecha de carga, cargador y photoId. 10 créditos por llamada |
hasdata_google_maps_place_getPlaceDetails | Nombre, 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_getMapPosts | Título por publicación, descripción, imagen, posted_at, enlace y nombre de fuente/negocio. 10 créditos por llamada |
hasdata_google_maps_reviews_getMapReviews | Nombre 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_performMapSearch | La 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ámetro | Tipo | Requerido | Notas |
|---|---|---|---|
q | string | sí | Consulta de texto libre, por ejemplo coffee o plumber |
ll | string | Centro 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 / hl | string | Códigos de país e idioma de dos letras | |
domain | string | Dominio de Google para consultar, por ejemplo google.com | |
start | number | Desplazamiento 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ámetro | Tipo | Requerido | Notas |
|---|---|---|---|
placeId | string | sí | El placeId de un resultado de búsqueda |
hl | string | Código de idioma | |
domain | string | Dominio 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ámetro | Tipo | Requerido | Notas |
|---|---|---|---|
placeId | string | El lugar. Debe estar presente placeId o dataId | |
dataId | string | El lugar como dataId en su lugar | |
sortBy | string | mostRelevant por defecto, más newestFirst, ratingHigh y ratingLow | |
topicId | string | Filtrar a un tema, usando un id del array topics | |
hl | string | Código de idioma | |
nextPageToken | string | El 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.
topicses la agrupación propia de Google de lo que mencionan las reseñas, cada una con unkeywordy un recuento dementions, y los temas vienen precontados en lugar de requerir que leas cada reseña. Alimenta elidde un tema de vuelta comotopicIdpara leer solo las reseñas que lo mencionan.
El
userde cada reseña lleva uncontributorId. 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ámetro | Tipo | Requerido | Notas |
|---|---|---|---|
contributorId | string | sí | El contributorId del objeto user de una reseña |
num | number | Cuántas reseñas devolver | |
gl / hl | string | Códigos de país e idioma | |
nextPageToken | string | Token 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ámetro | Tipo | Requerido | Notas |
|---|---|---|---|
placeId | string | El lugar. Debe estar presente placeId o dataId | |
dataId | string | El lugar como dataId en su lugar | |
categoryId | string | Filtrar a una categoría, usando un id del array categories | |
hl | string | Código de idioma | |
nextPageToken | string | Token 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ámetro | Tipo | Requerido | Notas |
|---|---|---|---|
placeId | string | El lugar. Debe estar presente placeId o dataId | |
dataId | string | El lugar como dataId en su lugar | |
hl | string | Có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
postsvací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.
| Prompt | Qué hace |
|---|---|
google_maps_search | Encuentra negocios y lugares en Google Maps. |
google_maps_reviews | Resume 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ámetro | Valores | Qué selecciona |
|---|---|---|
hl | 159 | El código de idioma de dos letras para el idioma que quieres usar en la búsqueda. |
gl | 245 | El código de país de dos letras para el país al que quieres limitar la búsqueda. |
domain | 195 | Dominio de Google a usar. El predeterminado es google.com. |
sortBy | 4 | Pará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 oficial | Este servidor | |
|---|---|---|
| Lo que configuras | Un proyecto de Google Cloud, facturación, claves y cuotas por API | Una clave de API, una vez |
| Enrutamiento, geocodificación, validación de direcciones | Sí | No ofrecido |
| Reseñas | Una pequeña muestra fija por lugar | El feed, paginado, con grupos de temas |
| El historial de un reseñador | No disponible | Sí, por contributorId |
| Fotos y publicaciones | Limitado | Feed de fotos y publicaciones del negocio |
| Salida | JSON según el esquema de la Plataforma | JSON analizado de lo que ve un visitante |
| Costo | Precios por llamada de Google en tu factura | 10 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 producto | Búsqueda, Reseñas, Fotos y Publicaciones |
| Documentación del servidor | Docs del servidor MCP |
| Las 57 herramientas en un servidor | HasData/hasdata-mcp |
| Tutoriales de clientes | Clientes e integraciones MCP |
| Las otras superficies que analizamos | 53 APIs de scraping más |
| Planes y costos de créditos | Planes y costos de créditos |
| Claves y uso | Panel de HasData |
| Lanzador de Node en npm | @hasdata/google-maps-mcp |
| Lanzador de Python en PyPI | hasdata-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.