Loqal

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

使うべきか

品質と安全性

B
説明の品質
73%
スキーマの完全性
84%
命名の品質
93%
ポイズニングのリスク
40%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(9)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'check_coverage' description contains placeholder textcheck_coverage 内
  • LOWTool 'search_services' description lacks action verbsearch_services 内
  • LOWTool 'check_coverage' description lacks action verbcheck_coverage 内
  • LOWTool 'get_request' description lacks action verbget_request 内
  • LOWTool 'rate_service' description lacks action verbrate_service 内
  • INFOTool description contains placeholder or incomplete textcheck_coverage 内
  • INFOTool description contains placeholder or incomplete textget_request 内
  • INFOTool description contains placeholder or incomplete textrate_service 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,380トークン数(ツール定義)
~2.0 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.86%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "loqal": {
      "url": "https://api.loqal.com.br/mcp"
    }
  }
}

リモートエンドポイント

https://api.loqal.com.br/mcpstreamable-http

できること

ツール一覧

ツール(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.

入力スキーマ

{
  "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"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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"
}

出力スキーマ

{
  "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).

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 9 件