Skip to content

Loqal

by loqal.com.br · remote · no sign-in to list tools · v1.0.0 · published by br.com.loqal

Profissionais de serviços locais no Brasil: encanador, eletricista, diarista e +270 tipos

Changes · 5

10 tools: 5 change things and 5 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http loqal https://api.loqal.com.br/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "get_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_request" says "get": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Changes things 5Claude Code: ask
  • check_coverageDiz se a Loqal reconhece um lugar (bairro, cidade, UF em todo o Brasil) e quantos profissionais reais atendem ali, no geral ou para uma necessidade.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Diz se a Loqal reconhece um lugar (bairro, cidade, UF em todo o Brasil) e quantos profissionais reais atendem ali, no geral ou para uma necessidade. Use antes de prometer algo ao usuário.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • estimate_jobEstima quanto vai custar um serviço específico descrito pelo usuário (ex.: "instalar ar split de 12 mil BTUs no 7º andar, sem infraestrutura, na Tijuca"), separando mão de obra, ma…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estima quanto vai custar um serviço específico descrito pelo usuário (ex.: "instalar ar split de 12 mil BTUs no 7º andar, sem infraestrutura, na Tijuca"), separando mão de obra, material e deslocamento, com as premissas e o que falta para refinar. Usa o Índice de Preços Loqal e preços reais publicados por profissionais quando existem (base=indice_loqal|precos_reais); sem eles, é uma referência de mercado (base=ia). É estimativa, não orçamento. Antes de chamar, se faltar o detalhe que mais muda o preço (tamanho, quantidade, m², BTUs), pergunte ao usuário.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • estimate_priceFaixa de preço de um serviço numa região, só com preços reais: dos profissionais perto (5 ou mais) ou do Índice de Preços Loqal (preços publicados pelos próprios negócios, por esta…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Faixa de preço de um serviço numa região, só com preços reais: dos profissionais perto (5 ou mais) ou do Índice de Preços Loqal (preços publicados pelos próprios negócios, por estado ou nacional; source=indice_loqal, com página de referência). Sem dados suficientes, diz que não há e não inventa valores.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_requestSituação de um pedido pelo código (LQ-XXXX): status e profissionais que receberam.1 finding

    Why it is in this group

    • The name "get_request" says "get": a word for reading.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "get_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_request" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Situação de um pedido pelo código (LQ-XXXX): status e profissionais que receberam. Respostas de orçamento chegam no WhatsApp do usuário.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • rate_serviceRegistra a avaliação do usuário para um profissional que recebeu o pedido dele (código LQ-XXXX).No findings

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Registra a avaliação do usuário para um profissional que recebeu o pedido dele (código LQ-XXXX). Só aceita avaliação ligada a um pedido real: é o que torna a reputação da Loqal confiável.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 5Claude Code: allow
  • compare_providersCompara lado a lado 2 a 6 profissionais (slugs) para uma necessidade: nota, avaliações, distância, preço informado, 24h, verificação.No findings

    Why it is in this group

    • The name "compare_providers" says "compare": a word for reading.
    Description, as the server wrote it
    Compara lado a lado 2 a 6 profissionais (slugs) para uma necessidade: nota, avaliações, distância, preço informado, 24h, verificação. Não inventa: "não informado" quando a Loqal não sabe.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_providersEncontra profissionais reais perto de um lugar para uma necessidade.No findings

    Why it is in this group

    • The name "find_providers" says "find": a word for reading.
    Description, as the server wrote it
    Encontra profissionais reais perto de um lugar para uma necessidade. Ex.: need="instalar 3 ventiladores", where="Tijuca, Rio de Janeiro", min_rating=4.5, max_price_brl=350. Retorna perfis estruturados (nota, avaliações, distância, preço quando informado) e uma tela com cards.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_providerPerfil completo de um profissional (slug vindo de find_providers): serviços com aliases e preço inicial, bairros atendidos, nota com a fonte, avaliações recentes, ações e o índice …No findings

    Why it is in this group

    • The name "get_provider" says "get": a word for reading.
    Description, as the server wrote it
    Perfil completo de um profissional (slug vindo de find_providers): serviços com aliases e preço inicial, bairros atendidos, nota com a fonte, avaliações recentes, ações e o índice de preparo para IAs (agent_readiness).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_categoriesSetores e nichos da Loqal (285 tipos de serviço), com quantos profissionais reais atendem.No findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.
    Description, as the server wrote it
    Setores e nichos da Loqal (285 tipos de serviço), com quantos profissionais reais atendem. Filtre por setor (slug) ou por lugar para ver só o que existe ali.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_servicesMapeia uma necessidade em linguagem natural ("cano da pia vazando", "limpar ar-condicionado") para os serviços da Loqal.No findings

    Why it is in this group

    • The name "search_services" says "search": a word for reading.
    Description, as the server wrote it
    Mapeia uma necessidade em linguagem natural ("cano da pia vazando", "limpar ar-condicionado") para os serviços da Loqal. Use quando não estiver claro qual profissional resolve.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http loqal https://api.loqal.com.br/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__loqal__search_services",
      "mcp__loqal__list_categories",
      "mcp__loqal__find_providers",
      "mcp__loqal__get_provider",
      "mcp__loqal__compare_providers"
    ],
    "ask": [
      "mcp__loqal__check_coverage",
      "mcp__loqal__estimate_job",
      "mcp__loqal__estimate_price",
      "mcp__loqal__get_request",
      "mcp__loqal__rate_service"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as loqal. Review it before you use it.