Loqal
Profissionais de serviços locais no Brasil: encanador, eletricista, diarista e +270 tipos
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (9)
- HIGH
- MEDIUMin check_coverage
- LOWin search_services
- LOWin check_coverage
- LOWin get_request
- LOWin rate_service
- INFOin check_coverage
- INFOin get_request
- INFOin rate_service
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"loqal": {
"url": "https://api.loqal.com.br/mcp"
}
}
}Remote-Endpunkte
https://api.loqal.com.br/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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"
}Ausgabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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"
}Community
Nachweis