Loqal
Profissionais de serviços locais no Brasil: encanador, eletricista, diarista e +270 tipos
¿Debería usar esto?
Calidad y seguridad
Hallazgos (9)
- HIGH
- MEDIUMen check_coverage
- LOWen search_services
- LOWen check_coverage
- LOWen get_request
- LOWen rate_service
- INFOen check_coverage
- INFOen get_request
- INFOen rate_service
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"loqal": {
"url": "https://api.loqal.com.br/mcp"
}
}
}Puntos de conexión remotos
https://api.loqal.com.br/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (9)
🟢search_services(need)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"need": {
"type": "string",
"minLength": 2,
"description": "A necessidade, com as palavras do usuário"
}
},
"required": [
"need"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"niche": {
"type": "string"
},
"niche_slug": {
"type": "string"
},
"service": {
"type": [
"string",
"null"
]
},
"service_key": {
"type": [
"string",
"null"
]
},
"score": {
"type": "number"
}
},
"required": [
"niche",
"niche_slug",
"service",
"service_key",
"score"
],
"additionalProperties": false
}
}
},
"required": [
"matches"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_categories(sector, where)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"sector": {
"description": "slug do setor, ex.: reformas-e-reparos",
"type": "string"
},
"where": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_coverage(where, need)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"where": {
"type": "string",
"minLength": 2
},
"need": {
"type": "string"
}
},
"required": [
"where"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_providers(need, niche, service, where, lat, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"need": {
"type": "string",
"minLength": 2,
"description": "O que o usuário precisa, com as palavras dele"
},
"niche": {
"description": "Slug exato do tipo de profissional (de list_categories), ex.: \"motorista\", \"pedreiro\". Quando informado, vence a interpretação do texto.",
"type": "string"
},
"service": {
"description": "Subcategoria exata, a service_key de search_services (ex.: \"piscina/limpeza\"). Prioriza quem faz exatamente isso, sem esconder o resto do tipo.",
"type": "string"
},
"where": {
"description": "Bairro e/ou cidade, ex.: \"Tijuca, Rio de Janeiro\" ou \"Pinheiros SP\"",
"type": "string"
},
"lat": {
"description": "Latitude (busca geolocalizada: use com lng quando o usuário compartilhar a localização)",
"type": "number"
},
"lng": {
"type": "number"
},
"radius_km": {
"description": "Raio da busca em km a partir de lat/lng ou do lugar (padrão: 5 a 15 km conforme o lugar)",
"type": "number",
"minimum": 1,
"maximum": 80
},
"min_rating": {
"type": "number",
"minimum": 0,
"maximum": 5
},
"min_reviews": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"max_price_brl": {
"description": "Mantém quem não informou preço (cobra por orçamento)",
"type": "number",
"exclusiveMinimum": 0
},
"emergency_24h": {
"description": "Só quem atende 24 horas / emergência",
"type": "boolean"
},
"sort": {
"type": "string",
"enum": [
"relevance",
"distance",
"rating"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"need"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"understood": {
"type": "object",
"properties": {
"niche": {
"type": [
"string",
"null"
]
},
"service": {
"type": [
"string",
"null"
]
},
"place": {
"type": [
"string",
"null"
]
},
"urgent": {
"type": "boolean"
},
"confidence": {
"type": "number"
}
},
"required": [
"niche",
"service",
"place",
"urgent",
"confidence"
],
"additionalProperties": false
},
"total": {
"type": "number"
},
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"provider": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"service_area": {
"type": "array",
"items": {
"type": "string"
}
},
"city": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"distance_km": {
"type": [
"number",
"null"
]
},
"location": {
"anyOf": [
{
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"approximate": {
"type": "boolean"
}
},
"required": [
"lat",
"lng",
"approximate"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"rating": {
"type": [
"number",
"null"
]
},
"reviews": {
"type": "number"
},
"rating_source": {
"anyOf": [
{
"type": "string",
"enum": [
"google",
"loqal",
"google+loqal"
]
},
{
"type": "null"
}
]
},
"price_from_brl": {
"type": [
"number",
"null"
]
},
"emergency_24h": {
"type": "boolean"
},
"response_time_min": {
"type": [
"number",
"null"
]
},
"availability": {
"type": "null"
},
"verified": {
"type": "boolean"
},
"claimed": {
"type": "boolean",
"description": "Cadastro Loqal: o profissional se cadastrou ou reivindicou o perfil (prefira quando empatar)"
},
"top_review": {
"type": [
"string",
"null"
]
},
"profile_url": {
"type": "string"
},
"contact_available": {
"type": "boolean"
},
"contact_url": {
"type": [
"string",
"null"
]
},
"demo": {
"type": "boolean"
},
"match": {
"type": "object",
"properties": {
"score": {
"type": "number"
},
"why": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
}
},
"required": [
"score",
"why"
],
"additionalProperties": false
}
},
"required": [
"id",
"slug",
"provider",
"category",
"services",
"service_area",
"city",
"state",
"distance_km",
"location",
"rating",
"reviews",
"rating_source",
"price_from_brl",
"emergency_24h",
"response_time_min",
"availability",
"verified",
"claimed",
"top_review",
"profile_url",
"contact_available",
"contact_url",
"demo",
"match"
],
"additionalProperties": false
}
},
"loqal_page": {
"type": [
"string",
"null"
]
},
"related_niches": {
"description": "Presente quando o tipo pedido ainda não tem ninguém na região e a lista é de tipos afins",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"understood",
"total",
"providers",
"loqal_page"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_provider(slug)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢compare_providers(slugs, need, where)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"slugs": {
"minItems": 2,
"maxItems": 6,
"type": "array",
"items": {
"type": "string"
}
},
"need": {
"type": "string"
},
"where": {
"type": "string"
}
},
"required": [
"slugs"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢estimate_price(need, where)
Faixa de preço de um serviço numa região: dos preços que profissionais da Loqal informaram (5 ou mais), ou, sem isso, a referência de mercado do catálogo, sempre marcada como referência (source). Não inventa valores.
Esquema de entrada
{
"type": "object",
"properties": {
"need": {
"type": "string",
"minLength": 2
},
"where": {
"type": "string"
}
},
"required": [
"need"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_request(code)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"code": {
"type": "string"
}
},
"required": [
"code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪rate_service(code, provider, rating, comment)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"provider": {
"type": "string",
"description": "slug"
},
"rating": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"comment": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"code",
"provider",
"rating"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia