Profissionais de serviços locais no Brasil: encanador, eletricista, diarista e +270 tipos
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh 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.
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.
| Argument | Type | Description |
|---|---|---|
| need | string | |
| where* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"where"
],
"properties": {
"need": {
"type": "string"
},
"where": {
"type": "string",
"minLength": 2
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| need | string | |
| slugs* | array | |
| where | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slugs"
],
"properties": {
"need": {
"type": "string"
},
"slugs": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"minItems": 2
},
"where": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| need* | string | O caso com os detalhes do usuário |
| niche | string | slug do tipo de profissional (search_services/list_categories); se omitido, a Loqal entende pelo texto |
| where | string | Bairro e cidade, ou cidade e UF |
| details | array | Respostas do usuário que mudam o preço, ex.: "12.000 BTUs", "7º andar" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"need"
],
"properties": {
"need": {
"type": "string",
"minLength": 5,
"description": "O caso com os detalhes do usuário"
},
"niche": {
"type": "string",
"description": "slug do tipo de profissional (search_services/list_categories); se omitido, a Loqal entende pelo texto"
},
"where": {
"type": "string",
"description": "Bairro e cidade, ou cidade e UF"
},
"details": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8,
"description": "Respostas do usuário que mudam o preço, ex.: \"12.000 BTUs\", \"7º andar\""
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| need* | string | |
| where | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"need"
],
"properties": {
"need": {
"type": "string",
"minLength": 2
},
"where": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| lat | number | Latitude (busca geolocalizada: use com lng quando o usuário compartilhar a localização) |
| lng | number | |
| need* | string | O que o usuário precisa, com as palavras dele |
| sort | string | |
| limit | integer | |
| niche | string | Slug exato do tipo de profissional (de list_categories), ex.: "motorista", "pedreiro". Quando informado, vence a interpretação do texto. |
| where | string | Bairro e/ou cidade, ex.: "Tijuca, Rio de Janeiro" ou "Pinheiros SP" |
| service | string | Subcategoria exata, a service_key de search_services (ex.: "piscina/limpeza"). Prioriza quem faz exatamente isso, sem esconder o resto do tipo. |
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).
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| code* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| where | string | |
| sector | string | slug do setor, ex.: reformas-e-reparos |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"where": {
"type": "string"
},
"sector": {
"type": "string",
"description": "slug do setor, ex.: reformas-e-reparos"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| code* | string | |
| rating* | integer | |
| comment | string | |
| provider* | string | slug |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code",
"provider",
"rating"
],
"properties": {
"code": {
"type": "string"
},
"rating": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"comment": {
"type": "string",
"maxLength": 1000
},
"provider": {
"type": "string",
"description": "slug"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| need* | string | A necessidade, com as palavras do usuário |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"need"
],
"properties": {
"need": {
"type": "string",
"minLength": 2,
"description": "A necessidade, com as palavras do usuário"
}
}
}| radius_km | number | Raio da busca em km a partir de lat/lng ou do lugar (padrão: 5 a 15 km conforme o lugar) |
| min_rating | number |
| min_reviews | integer |
| emergency_24h | boolean | Só quem atende 24 horas / emergência |
| max_price_brl | number | Mantém quem não informou preço (cobra por orçamento) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"need"
],
"properties": {
"lat": {
"type": "number",
"description": "Latitude (busca geolocalizada: use com lng quando o usuário compartilhar a localização)"
},
"lng": {
"type": "number"
},
"need": {
"type": "string",
"minLength": 2,
"description": "O que o usuário precisa, com as palavras dele"
},
"sort": {
"enum": [
"relevance",
"distance",
"rating"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"niche": {
"type": "string",
"description": "Slug exato do tipo de profissional (de list_categories), ex.: \"motorista\", \"pedreiro\". Quando informado, vence a interpretação do texto."
},
"where": {
"type": "string",
"description": "Bairro e/ou cidade, ex.: \"Tijuca, Rio de Janeiro\" ou \"Pinheiros SP\""
},
"service": {
"type": "string",
"description": "Subcategoria exata, a service_key de search_services (ex.: \"piscina/limpeza\"). Prioriza quem faz exatamente isso, sem esconder o resto do tipo."
},
"radius_km": {
"type": "number",
"maximum": 80,
"minimum": 1,
"description": "Raio da busca em km a partir de lat/lng ou do lugar (padrão: 5 a 15 km conforme o lugar)"
},
"min_rating": {
"type": "number",
"maximum": 5,
"minimum": 0
},
"min_reviews": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"emergency_24h": {
"type": "boolean",
"description": "Só quem atende 24 horas / emergência"
},
"max_price_brl": {
"type": "number",
"description": "Mantém quem não informou preço (cobra por orçamento)",
"exclusiveMinimum": 0
}
}
}