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
10 tools: 5 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things5Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnget_request
The server marks "get_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_request" says "get": a word for reading.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_request" says "get": a word for reading.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.