Glassdoor MCP Server

Listagens de empregos do Glassdoor e postagens completas de vagas com avaliações de empresas e estimativas salariais, como JSON estruturado.

Documentação

Servidor MCP Glassdoor

Um servidor de Model Context Protocol (MCP) hospedado que oferece ao Claude, Cursor, Windsurf e qualquer outro cliente MCP duas ferramentas somente leitura do Glassdoor. Pesquise vagas por palavra-chave e local e leia uma publicação completa com a avaliação do empregador, o valor salarial e sua origem, tudo em JSON estruturado, sem conta de parceiro Glassdoor e sem nada para hospedar.

Ele lê páginas públicas de vagas do Glassdoor que um visitante desconectado pode ver, no site dos EUA e em 22 sites regionais.

1.000 créditos gratuitos todo mês, sem necessidade de cartão, o que equivale a 100 chamadas ao Glassdoor na taxa de 10 créditos.

https://mcp.hasdata.com/api/mcp?apis=glassdoor

Glama score tool contract MCP Tools npm PyPI License

Conteúdo

O que você precisa

Um cliente MCP e uma chave de API HasData do painel, gratuitos para criar sem cartão, e o plano gratuito cobre cerca de 100 chamadas por mês na taxa de 10 créditos. Este é um servidor remoto, então o caminho mais simples é uma URL e um cabeçalho x-api-key, sem contêiner para executar. Um cliente que só fala stdio o acessa por meio de um lançador leve, publicado como @hasdata/glassdoor-mcp no npm e hasdata-glassdoor-mcp no PyPI, mostrado abaixo.

Início rápido

A URL do servidor é a mesma para todos os clientes. Nós o executamos na prática no Claude Code e no Claude Desktop. Os outros blocos seguem o formato documentado de cada cliente para um servidor remoto.

CampoValor
URLhttps://mcp.hasdata.com/api/mcp?apis=glassdoor
TransporteHTTP, transmissível
Cabeçalho de autenticaçãox-api-key: HASDATA_API_KEY

Clientes com suporte a OAuth podem adicionar a mesma URL como conector e entrar sem colocar uma chave em um arquivo de configuração.

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

Configurações, depois Conectores, depois Adicionar conector personalizado, depois cole https://mcp.hasdata.com/api/mcp?apis=glassdoor e entre.

Para o caminho de arquivo de configuração, o Claude Desktop carrega apenas servidores locais (stdio), então ele acessa um servidor remoto por meio de um lançador stdio. O pacote @hasdata/glassdoor-mcp é esse lançador, e ele lê a chave do ambiente. Adicione isto a claude_desktop_config.json:

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

Para Python em vez de Node, troque o lançador pelo pacote PyPI, que o uvx executa sem instalação manual:

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

~/.cursor/mcp.json para cada projeto, ou .cursor/mcp.json para um único:

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

~/.codeium/windsurf/mcp_config.json. O Windsurf chama o campo de serverUrl, não de url:

{
  "mcpServers": {
    "glassdoor": {
      "serverUrl": "https://mcp.hasdata.com/api/mcp?apis=glassdoor",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
VS Code

.vscode/mcp.json no espaço de trabalho:

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

Exemplos de prompts

Cada um destes usa uma ferramenta, ou duas em sequência quando a segunda precisa da URL que a primeira retorna.

  • Encontre vagas de engenheiro de dados em Austin, TX e mostre-me apenas aquelas em que o empregador informou o salário.
  • Qual é o salário mediano publicado para esta função em Austin e de quantas publicações esse número veio?
  • Leia esta publicação do Glassdoor por completo e liste as qualificações exigidas.
  • Quais empresas contratando para esta função têm avaliação do empregador acima de 4?
  • Mostre-me publicações para esta função adicionadas na última semana, ordenadas por recência.
  • Compare salários publicados para esta função nos sites do Glassdoor do Reino Unido e da Alemanha.

Um prompt que nomeia uma função vai para a ferramenta de listagem, e ler a descrição completa exige uma segunda chamada por publicação. A listagem já traz o salário, a avaliação do empregador e as habilidades, então uma comparação entre muitas funções precisa de uma chamada em vez de uma por publicação.

Ferramentas

Duas ferramentas, 10 créditos por chamada bem-sucedida.

Obter listagens de vagas do Glassdoor

hasdata_glassdoor_listing_getJobListings

Uma página de publicações para uma função em um local, 30 por página.

ParâmetroTipoObrigatórioObservações
keywordstringsimA função a pesquisar, como data engineer
locationstringsimOnde pesquisar, como Austin, TX
sortstringrelevant ou recent
domainstringUm dos 22 sites regionais do Glassdoor
nextPageTokenstringCursor para a próxima página, obtido da resposta anterior

Retorna searchInformation com totalResults e a URL do Glassdoor por trás da consulta, um array jobs e pagination.

Cada publicação traz title, id, url, location, ageInDays, sponsored, um array skills, um trecho description, um objeto salary e um objeto employer com seu próprio rating e logoUrl.

O objeto salary é a razão pela qual esta ferramenta vale mais do que um feed de quadro de empregos. Ele informa min, median, max, currency, period e, de forma decisiva, source, que é EMPLOYER_PROVIDED ou ESTIMATED. O primeiro é um valor publicado pelo empregador, o segundo é o modelo próprio do Glassdoor. No exemplo abaixo, 19 de 30 publicações tinham valor fornecido pelo empregador e 10 estimado.

{
  "title": "Data Engineer",
  "id": 1010220057561,
  "url": "https://www.glassdoor.com/job-listing/data-engineer-esc-region-xiii-JV_IC1139761_KO0,13_KE14,29.htm?jl=1010220057561",
  "location": "Austin, TX",
  "ageInDays": 36,
  "sponsored": false,
  "skills": ["Azure", "Customer service", "System design"],
  "salary": {
    "currency": "USD",
    "period": "ANNUAL",
    "min": 82572,
    "median": 82572,
    "max": 82572,
    "source": "EMPLOYER_PROVIDED"
  },
  "employer": {
    "id": 477452,
    "name": "Education Service Center Region XIII",
    "shortName": "ESC Region XIII",
    "rating": 4.2,
    "sponsored": false
  }
}

Obter detalhes da vaga do Glassdoor

hasdata_glassdoor_job_getJobDetails

Uma publicação completa, pela sua URL do Glassdoor.

ParâmetroTipoObrigatórioObservações
urlstringsimA URL da publicação, como a ferramenta de listagem a retorna

Retorna um objeto job. Além do título, salário e empregador que a listagem já forneceu, adiciona a description completa como texto simples, o mesmo texto como descriptionHtml, um objeto requirements contendo educationRequirements e um array experienceRequirements, um objeto address com coordenadas, datePosted e um sinalizador expired.

{
  "title": "Data Engineer",
  "employer": {
    "name": "ESC Region XIII",
    "url": "https://www.glassdoor.com/Overview/Working-at-ESC-Region-XIII-EI_IE477452.11,26.htm"
  },
  "address": {
    "country": "United States",
    "region": "Texas",
    "city": "Austin, TX",
    "latitude": 30.26694,
    "longitude": -97.74278
  },
  "requirements": {
    "educationRequirements": "Bachelor's degree",
    "experienceRequirements": ["Azure", "Customer service", "System design", "Windows", "SQL", "AWS"]
  },
  "salary": {
    "payCurrency": "USD",
    "period": "ANNUAL",
    "min": 82572,
    "median": 82572,
    "max": 82572,
    "source": "EMPLOYER_PROVIDED"
  },
  "datePosted": "2026-09-03T00:00:00",
  "ageInDays": 36,
  "expired": false
}

Erros e caminhos de falha

Planeje estes em vez de assumir um caminho feliz.

salary.source decide se o valor é um fato ou uma saída de modelo. EMPLOYER_PROVIDED veio da publicação. ESTIMATED é a estimativa própria do Glassdoor para a função e o mercado, e misturar os dois em uma única mediana produz um número que não descreve nenhum dos dois. Filtre por source antes de agregar e diga de qual conjunto um valor publicado veio.

Um salário único informado chega com min, median e max todos iguais. Três das 30 publicações no exemplo pareciam assim. Um intervalo de zero é um valor pontual, não um intervalo ausente.

salary pode estar ausente, e period pode ser HOURLY em vez de ANNUAL. Uma publicação no exemplo não trazia salário algum. Converter horário em anual é uma suposição sua, não algo que a resposta faz.

A description da listagem é um trecho truncado. Dezoito das 30 amostras terminavam no meio da frase com reticências. O texto completo está apenas na ferramenta de detalhes, então um prompt que lê descrições custa uma chamada por publicação.

A paginação é baseada em token, e otherPages contém tokens em vez de URLs de página. pagination.otherPages mapeia um número de página para um token base64 opaco, e esse token é o que vai em nextPageToken. Mantenha os outros parâmetros inalterados ao paginar.

www.glassdoor.com é o padrão e não é um valor que você pode passar. O enum domain lista os 22 sites regionais, então o site dos EUA é o que você obtém ao deixar domain de fora. Não há nada para enviar por ele.

expired está apenas na ferramenta de detalhes. Uma página de listagem ainda pode mostrar uma publicação que o empregador fechou, e apenas a chamada de detalhes informa isso. Verifique o sinalizador antes de agir com base em um ageInDays antigo.

Um valor salarial e uma avaliação do empregador são números do Glassdoor. Eles vêm dos dados e modelos próprios do Glassdoor, então atribua a eles em vez de apresentá-los como verdade de mercado.

Resultados que trazem dados também trazem um requestMetadata.id que vale citar como suporte.

Preços, plano gratuito e limites

Cada ferramenta do Glassdoor custa 10 créditos por chamada bem-sucedida. O tamanho da resposta não muda o preço, então uma página de 30 publicações custa o mesmo que uma única chamada de detalhes, o que torna a ferramenta de listagem o caminho barato para cobrir um mercado e a ferramenta de detalhes o caminho caro.

O plano gratuito é 1.000 créditos todo mês sem cartão, o que equivale a 100 chamadas ao Glassdoor na taxa base. Ele renova com o ciclo de faturamento, então um agente de baixo volume funciona no plano gratuito indefinidamente.

Os planos pagos começam em US$ 49 por mês para 200.000 créditos, o que equivale a 20.000 chamadas. O preço unitário cai com o volume, de US$ 2,45 por 1.000 chamadas no plano inicial para US$ 1,00 no Business, US$ 0,84 no Growth e US$ 0,74 nos maiores planos de alto volume.

Seu plano também define a concorrência. O plano gratuito permite 1 solicitação por vez, Startup 15, Business 30, Growth 50, e os planos de alto volume vão de 200 a 1.500. Tente novamente no 429 com backoff em qualquer coisa não supervisionada, porque um agente que percorre uma página de publicações atingirá o teto antes de você.

Uma solicitação que retorna não-200 não é cobrada. Uma chamada bem-sucedida que não encontra nada ainda é uma chamada.

Uma nota sobre custo por resposta. Trinta publicações chegam por 10 créditos, e ler todas as trinta por completo custa 300 a mais. A maioria das perguntas de remuneração e contratação pode ser respondida apenas com a listagem, então use a ferramenta de detalhes por publicação, não por página.

Seleção de ferramentas

Comece pelo que o prompt lhe dá. Uma função e um local vão para a ferramenta de listagem, e uma URL do Glassdoor vai direto para a ferramenta de detalhes.

Depois pergunte o que a resposta precisa. Salário, avaliação do empregador, habilidades, local e idade chegam com a listagem, o que cobre benchmarking de remuneração, monitoramento de tendências de contratação e listas curtas de sourcing em uma chamada. A ferramenta de detalhes existe para a descrição completa e as qualificações informadas, que é o que um pipeline de correspondência ou adaptação de currículo precisa e o que um resumo de mercado não precisa.

Como se compara

O Glassdoor não tem API pública de empregos, então a comparação honesta é contra um feed de quadro de empregos e contra o próprio site do Glassdoor.

Um feed de quadro de empregosGlassdoor no siteEste servidor
ElegibilidadeUm acordo de parceiro por quadroUm navegador e um prompt de loginUma chave de API
Avaliação do empregadorNão incluídaExibidaEm cada publicação
Origem do salárioRaramente informadaExibidasource em cada valor
Tags de habilidadesDependente do quadroExibidasUm array por publicação
Sites regionaisIntegrações separadasSites separadosUm parâmetro
Saída estruturadaDependente do feedNenhumaJSON

A linha que decide é a origem do salário. O trabalho de remuneração desmorona quando um valor do empregador e uma estimativa modelada caem na mesma coluna, e este é o campo que os mantém separados.

Perguntas frequentes

Existe um servidor MCP oficial do Glassdoor?

O Glassdoor não publica um, e também não publica uma API pública de empregos. Este é mantido pela HasData e lê páginas públicas do Glassdoor.

O que é um servidor MCP do Glassdoor?

Um servidor MCP expõe ferramentas que um cliente de IA pode chamar. Este converte buscas de empregos e postagens do Glassdoor em JSON que um agente pode analisar, sem precisar de navegador ou biblioteca de scraping na sua stack.

Preciso de uma conta no Glassdoor?

Não. A única credencial é a sua chave HasData.

Os salários são reais ou estimados?

Ambos, e a resposta indica qual é. salary.source é EMPLOYER_PROVIDED para um valor publicado pelo empregador e ESTIMATED para o modelo próprio do Glassdoor. Leia esse campo antes de calcular qualquer média.

Ele retorna avaliações de empresas?

Não. Essas duas ferramentas cobrem listagens e postagens de empregos. O objeto do empregador carrega o rating agregado que o Glassdoor exibe ao lado do nome da empresa, e o texto das avaliações não faz parte da resposta.

Quais países são cobertos?

O site dos EUA por padrão, além de 22 regionais, de www.glassdoor.co.uk até www.glassdoor.co.in, www.glassdoor.com.au e os sites belga, canadense e suíço com divisão por idioma. Passe domain para alternar.

Como faço para paginar pelos resultados?

Pegue o token da página desejada em pagination.otherPages e envie-o como nextPageToken, mantendo keyword, location e sort inalterados.

Posso usar isso junto com outras APIs HasData?

Sim. Uma chave cobre tudo, e um endpoint atende a todos por meio do parâmetro apis. Aponte um cliente para ?apis=glassdoor,indeed para obter os dois conjuntos de ferramentas em uma conexão, ou para mcp.hasdata.com/api/mcp para o catálogo completo.

A HasData é afiliada ao Glassdoor?

Não. A HasData é um serviço independente e não é afiliada, endossada ou patrocinada pelo Glassdoor. Glassdoor é uma marca registrada de seu respectivo proprietário. As ferramentas trabalham apenas com dados publicamente disponíveis, e você é responsável por usar os resultados em conformidade com os termos do Glassdoor e a lei aplicável a você.

Conformidade e dados pessoais

Postagens de empregos são registros comerciais, e estas ferramentas não retornam dados de candidatos ou avaliadores. Duas coisas ainda exigem cuidado. Avaliações de empregadores e estimativas salariais são agregações próprias do Glassdoor, então republicá-las sem atribuição deturpa de quem são os números. E uma postagem em um empregador muito pequeno pode nomear uma pessoa como contato, que é o único lugar onde dados pessoais aparecem.

Links HasData

Outros servidores MCP HasData: Indeed, Google Search, Google Maps, Google Trends, Google Flights, DuckDuckGo, YouTube, TikTok, Instagram, Amazon, Walmart, Shopify, Yelp, Zillow, Redfin, Airbnb, Booking.com.

Desenvolvimento

O lançador é uma ponte stdio fina para o servidor remoto, então não há nada para compilar.

npm install
HASDATA_API_KEY=your_key_here npm test

Os testes em test/ verificam o contrato das ferramentas, a parte que pode quebrar sem um commit aqui. Eles verificam que ?apis=glassdoor retorna a contagem esperada de ferramentas, que nenhum nome mudou, que cada ferramenta ainda declara seus parâmetros obrigatórios e carrega uma descrição, que sort ainda oferece ambas as ordens, e que a chave em uso é realmente aceita. Esse último teste chama uma ferramenta de verdade e custa 10 créditos, que é o preço de um canário que pode falhar pelo motivo certo.

Um teste verifica que uma postagem ao vivo ainda carrega salary.source. O README depende desse campo para manter os números do empregador separados das estimativas, e uma resposta que o omitisse silenciosamente deixaria a recomendação sem base por trás dela.

A suíte de contrato também roda semanalmente em um agendamento, porque a lista de ferramentas upstream pode mudar sem que ninguém toque neste repositório.

Contribuindo

Uma tabela de ferramentas, uma amostra de resposta ou um comportamento documentado que não corresponda à realidade merece uma issue. Há um modelo exatamente para isso. Pull requests são bem-vindos para o mesmo, e para qualquer coisa no lançador.

Licença

MIT, veja LICENSE.