Real sale prices (ITBI) for every building, street and district in São Paulo, plus homes for sale.
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.
Busca imóveis à venda na cidade de São Paulo (apartamentos, casas, salas comerciais, terrenos) em anúncios de imobiliárias, deduplicados: cada resultado é um imóvel com o menor preço pedido, o link da ficha em itbisp.com e o do anúncio mais barato. O jeito mais simples: passe o pedido da pessoa em q, em português ("apartamento de 3 quartos em Pinheiros até 1,5 milhão perto do metrô, com varanda") — ele vira filtros por regras e a resposta lista os termos_entendidos. Os campos estruturados (bairro, estação, preço, quartos, características, visão...) completam ou corrigem o q e ganham dele. Cada imóvel traz preço, R$/m², nivel_preco em 4 níveis (abaixo do mercado, no preço, acima, 30%+ acima), metrô mais próximo e distância, características lidas do anúncio (varanda, pet, piscina...), etiquetas pela foto e quantos outros estão à venda no mesmo prédio. Só cidade de São Paulo; não cobre aluguel. | Search homes for sale in São Paulo city (Brazil) across agency listings, deduplicated per property. Easiest: pass the user's request in q (Portuguese works best); structured fields refine it. Returns price, price per m², a 4-level price label vs comparables, nearest station, listing features, photo tags, a link to the itbisp.com page and to the cheapest listing. Sale only, São Paulo city only.
Pedido em linguagem natural, em português: '3 quartos perto do metrô em Pinheiros até 1,8 mi com varanda', 'studio até 500 mil perto da estação Faria Lima', 'casa com quintal e piscina que aceita pet'. Vira filtros por regras; veja termos_entendidos na resposta. Natural-language request (Portuguese).
Latitude do ponto de referência (use com lon e raio_m). Reference point latitude.
Longitude do ponto de referência. Reference point longitude.
Nome da rua, com ou sem 'Rua'/'Av.': "Rua dos Pinheiros". Street name.
Caixa [oeste, sul, leste, norte] em graus. Bounding box [west, south, east, north].
Tipos aceitos. Studio/flat/kitnet/cobertura são 'apartamento'; sobrado é 'casa'. Property types.
Ordem. 'relevancia' põe primeiro preço bom, com foto e confirmado por várias imobiliárias; 'mais_perto' exige lat/lon. Sort order.
Etiquetas estimadas pela foto principal do anúncio (todas valem). Photo-based tags (estimates).
Um ou mais bairros, como as pessoas escrevem: ["Pinheiros", "Vila Madalena"]. Neighborhood names.
Quantos imóveis devolver (1-20). Results per page.
Página de resultados. Page number.
Raio em metros em torno de lat/lon. Radius in meters.
Estação de metrô/trem/monotrilho mais próxima do imóvel: "Fradique Coutinho", "Faria Lima". Nearest station name.
Subtipo estimado pelo anúncio: cobertura, studio, casa_condominio (casa em condomínio fechado)... Sub-type.
Área máxima em m². Max area (m²).
Área mínima em m² (privativa/útil do anúncio). Min area (m²).
Anel do polígono como lista de [lon, lat] (GeoJSON). Polygon ring as [lon, lat] pairs.
Preço máximo em reais: 1,5 milhão = 1500000. Max price (BRL).
Preço mínimo em reais. Min price (BRL).
Só imóveis reformados, pela foto ou pelo texto do anúncio. Renovated (photo or listing text).
Vagas de garagem, no mínimo. Min parking spots.
Suítes, no mínimo. Min suites.
Distância máxima (metros, em linha reta) até a estação mais próxima. 'Perto do metrô' ≈ 800. Max distance to nearest station in meters.
Quartos (dormitórios), no mínimo. Min bedrooms.
Só imóveis com pedido abaixo do mercado (comparados ao mesmo prédio, rua ou bairro e ao pago no ITBI). Only below-market asking prices.
Mostra no máximo um imóvel por prédio (o melhor de cada); cada resultado diz quantos outros estão à venda no prédio. One result per building.
Características que o imóvel precisa ter, lidas do texto e da lista de características dos anúncios (todas valem): vista, varanda, varanda_gourmet, churrasqueira, piscina, academia, aceita_pet, portaria_24h... Listing features (all required).
Corta pelo selo de preço: so_abaixo (só abaixo do mercado), ate_mercado (tira os acima do mercado), sem_muito_caros (tira só os 30%+ acima). Price label cut.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http itbisp https://itbisp.com/mcp
Busca imóveis à venda na cidade de São Paulo (apartamentos, casas, salas comerciais, terrenos) em anúncios de imobiliárias, deduplicados: cada resultado é um imóvel com o menor preço pedido, o link da ficha em itbisp.com e o do anúncio mais barato. O jeito mais simples: passe o pedido da pessoa em q, em português ("apartamento de 3 quartos em Pinheiros até 1,5 milhão perto do metrô, com varanda") — ele vira filtros por regras e a resposta lista os termos_entendidos. Os campos estruturados (bairro, estação, preço, quartos, características, visão...) completam ou corrigem o q e ganham dele. Cada imóvel traz preço, R$/m², nivel_preco em 4 níveis (abaixo do mercado, no preço, acima, 30%+ acima), metrô mais próximo e distância, características lidas do anúncio (varanda, pet, piscina...), etiquetas pela foto e quantos outros estão à venda no mesmo prédio. Só cidade de São Paulo; não cobre aluguel. | Search homes for sale in São Paulo city (Brazil) across agency listings, deduplicated per property. Easiest: pass the user's request in q (Portuguese works best); structured fields refine it. Returns price, price per m², a 4-level price label vs comparables, nearest station, listing features, photo tags, a link to the itbisp.com page and to the cheapest listing. Sale only, São Paulo city only.
| Argument | Type | Description |
|---|---|---|
| q | string | Pedido em linguagem natural, em português: '3 quartos perto do metrô em Pinheiros até 1,8 mi com varanda', 'studio até 500 mil perto da estação Faria Lima', 'casa com quintal e piscina que aceita pet'. Vira filtros por regras; veja termos_entendidos na resposta. Natural-language request (Portuguese). |
| lat | number | Latitude do ponto de referência (use com lon e raio_m). Reference point latitude. |
| lon | number | Longitude do ponto de referência. Reference point longitude. |
| rua | string | Nome da rua, com ou sem 'Rua'/'Av.': "Rua dos Pinheiros". Street name. |
| bbox | array | Caixa [oeste, sul, leste, norte] em graus. Bounding box [west, south, east, north]. |
| tipo | array | Tipos aceitos. Studio/flat/kitnet/cobertura são 'apartamento'; sobrado é 'casa'. Property types. |
| ordem | string | Ordem. 'relevancia' põe primeiro preço bom, com foto e confirmado por várias imobiliárias; 'mais_perto' exige lat/lon. Sort order. |
| visao | array | Etiquetas estimadas pela foto principal do anúncio (todas valem). Photo-based tags (estimates). |
| bairro | array | Um ou mais bairros, como as pessoas escrevem: ["Pinheiros", "Vila Madalena"]. Neighborhood names. |
| limite | integer | Quantos imóveis devolver (1-20). Results per page. |
| pagina | integer | Página de resultados. Page number. |
| raio_m | integer | Raio em metros em torno de lat/lon. Radius in meters. |
| estacao | string | Estação de metrô/trem/monotrilho mais próxima do imóvel: "Fradique Coutinho", "Faria Lima". Nearest station name. |
| subtipo | array | Subtipo estimado pelo anúncio: cobertura, studio, casa_condominio (casa em condomínio fechado)... Sub-type. |
| area_max | number | Área máxima em m². Max area (m²). |
| area_min | number | Área mínima em m² (privativa/útil do anúncio). Min area (m²). |
| poligono | array | Anel do polígono como lista de [lon, lat] (GeoJSON). Polygon ring as [lon, lat] pairs. |
| preco_max | number | Preço máximo em reais: 1,5 milhão = 1500000. Max price (BRL). |
| preco_min | number | Preço mínimo em reais. Min price (BRL). |
| reformado | boolean | Só imóveis reformados, pela foto ou pelo texto do anúncio. Renovated (photo or listing text). |
| vagas_min | integer | Vagas de garagem, no mínimo. Min parking spots. |
| suites_min | integer | Suítes, no mínimo. Min suites. |
| metro_max_m | integer | Distância máxima (metros, em linha reta) até a estação mais próxima. 'Perto do metrô' ≈ 800. Max distance to nearest station in meters. |
| quartos_min | integer | Quartos (dormitórios), no mínimo. Min bedrooms. |
| so_preco_bom | boolean | Só imóveis com pedido abaixo do mercado (comparados ao mesmo prédio, rua ou bairro e ao pago no ITBI). Only below-market asking prices. |
| um_por_predio | boolean | Mostra no máximo um imóvel por prédio (o melhor de cada); cada resultado diz quantos outros estão à venda no prédio. One result per building. |
| caracteristicas | array | Características que o imóvel precisa ter, lidas do texto e da lista de características dos anúncios (todas valem): vista, varanda, varanda_gourmet, churrasqueira, piscina, academia, aceita_pet, portaria_24h... Listing features (all required). |
| faixa_avaliacao | string | Corta pelo selo de preço: so_abaixo (só abaixo do mercado), ate_mercado (tira os acima do mercado), sem_muito_caros (tira só os 30%+ acima). Price label cut. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Pedido em linguagem natural, em português: '3 quartos perto do metrô em Pinheiros até 1,8 mi com varanda', 'studio até 500 mil perto da estação Faria Lima', 'casa com quintal e piscina que aceita pet'. Vira filtros por regras; veja termos_entendidos na resposta. Natural-language request (Portuguese)."
},
"lat": {
"type": "number",
"description": "Latitude do ponto de referência (use com lon e raio_m). Reference point latitude."
},
"lon": {
"type": "number",
"description": "Longitude do ponto de referência. Reference point longitude."
},
"rua": {
"type": "string",
"description": "Nome da rua, com ou sem 'Rua'/'Av.': \"Rua dos Pinheiros\". Street name."
},
"bbox": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 4,
"minItems": 4,
"description": "Caixa [oeste, sul, leste, norte] em graus. Bounding box [west, south, east, north]."
},
"tipo": {
"type": "array",
"items": {
"enum": [
"apartamento",
"casa",
"comercial",
"terreno",
"outro"
],
"type": "string"
},
"description": "Tipos aceitos. Studio/flat/kitnet/cobertura são 'apartamento'; sobrado é 'casa'. Property types."
},
"ordem": {
"enum": [
"relevancia",
"menor_preco",
"maior_preco",
"menor_m2",
"maior_area",
"maior_desconto",
"mais_recentes",
"mais_perto"
],
"type": "string",
"default": "relevancia",
"description": "Ordem. 'relevancia' põe primeiro preço bom, com foto e confirmado por várias imobiliárias; 'mais_perto' exige lat/lon. Sort order."
},
"visao": {
"type": "array",
"items": {
"enum": [
"reformado",
"andar_alto",
"alto_padrao",
"decorado"
],
"type": "string"
},
"description": "Etiquetas estimadas pela foto principal do anúncio (todas valem). Photo-based tags (estimates)."
},
"bairro": {
"type": "array",
"items": {
"type": "string"
},
"description": "Um ou mais bairros, como as pessoas escrevem: [\"Pinheiros\", \"Vila Madalena\"]. Neighborhood names."
},
"limite": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1,
"description": "Quantos imóveis devolver (1-20). Results per page."
},
"pagina": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Página de resultados. Page number."
},
"raio_m": {
"type": "integer",
"default": 1000,
"maximum": 10000,
"minimum": 100,
"description": "Raio em metros em torno de lat/lon. Radius in meters."
},
"estacao": {
"type": "string",
"description": "Estação de metrô/trem/monotrilho mais próxima do imóvel: \"Fradique Coutinho\", \"Faria Lima\". Nearest station name."
},
"subtipo": {
"type": "array",
"items": {
"enum": [
"apartamento",
"cobertura",
"studio",
"casa",
"casa_condominio"
],
"type": "string"
},
"description": "Subtipo estimado pelo anúncio: cobertura, studio, casa_condominio (casa em condomínio fechado)... Sub-type."
},
"area_max": {
"type": "number",
"description": "Área máxima em m². Max area (m²)."
},
"area_min": {
"type": "number",
"description": "Área mínima em m² (privativa/útil do anúncio). Min area (m²)."
},
"poligono": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
},
"description": "Anel do polígono como lista de [lon, lat] (GeoJSON). Polygon ring as [lon, lat] pairs."
},
"preco_max": {
"type": "number",
"description": "Preço máximo em reais: 1,5 milhão = 1500000. Max price (BRL)."
},
"preco_min": {
"type": "number",
"description": "Preço mínimo em reais. Min price (BRL)."
},
"reformado": {
"type": "boolean",
"description": "Só imóveis reformados, pela foto ou pelo texto do anúncio. Renovated (photo or listing text)."
},
"vagas_min": {
"type": "integer",
"minimum": 0,
"description": "Vagas de garagem, no mínimo. Min parking spots."
},
"suites_min": {
"type": "integer",
"minimum": 0,
"description": "Suítes, no mínimo. Min suites."
},
"metro_max_m": {
"type": "integer",
"maximum": 5000,
"minimum": 100,
"description": "Distância máxima (metros, em linha reta) até a estação mais próxima. 'Perto do metrô' ≈ 800. Max distance to nearest station in meters."
},
"quartos_min": {
"type": "integer",
"minimum": 0,
"description": "Quartos (dormitórios), no mínimo. Min bedrooms."
},
"so_preco_bom": {
"type": "boolean",
"default": false,
"description": "Só imóveis com pedido abaixo do mercado (comparados ao mesmo prédio, rua ou bairro e ao pago no ITBI). Only below-market asking prices."
},
"um_por_predio": {
"type": "boolean",
"description": "Mostra no máximo um imóvel por prédio (o melhor de cada); cada resultado diz quantos outros estão à venda no prédio. One result per building."
},
"caracteristicas": {
"type": "array",
"items": {
"enum": [
"vista",
"varanda",
"varanda_gourmet",
"churrasqueira",
"piscina",
"academia",
"aceita_pet",
"playground",
"brinquedoteca",
"salao_festas",
"quadra",
"sauna",
"espaco_gourmet",
"portaria_24h",
"condominio_fechado",
"closet",
"lareira",
"mobiliado",
"ar_condicionado",
"escritorio",
"armarios_planejados",
"elevador",
"lavabo",
"novo_texto",
"reformado_texto",
"deposito",
"gerador"
],
"type": "string"
},
"description": "Características que o imóvel precisa ter, lidas do texto e da lista de características dos anúncios (todas valem): vista, varanda, varanda_gourmet, churrasqueira, piscina, academia, aceita_pet, portaria_24h... Listing features (all required)."
},
"faixa_avaliacao": {
"enum": [
"so_abaixo",
"ate_mercado",
"sem_muito_caros"
],
"type": "string",
"description": "Corta pelo selo de preço: so_abaixo (só abaixo do mercado), ate_mercado (tira os acima do mercado), sem_muito_caros (tira só os 30%+ acima). Price label cut."
}
},
"additionalProperties": false
}Para um endereço da cidade de São Paulo (rua e número) ou um ponto lat/lon: imóveis à venda no mesmo prédio e ao redor parecidos com o informado, R$/m² pedido mediano, uma estimativa de preço pedido para a área informada e o preço realmente pago no prédio e no distrito segundo o ITBI. Use para "quanto vale meu apartamento na Rua X, 123?", "quanto pedem por apartamentos no meu prédio?", "esse preço está caro para essa rua?". | For a São Paulo address (street + number) or a point: comparable homes for sale in the same building and nearby, median asking price per m², an asking-price estimate for the given area, and prices actually paid in that building and district (ITBI). Use for 'how much is my apartment worth' or 'is this price high for this street'.
| Argument | Type | Description |
|---|---|---|
| lat | number | Latitude, se não houver endereço. Latitude if no address. |
| lon | number | Longitude. Longitude. |
| area | number | Área do imóvel avaliado em m²; filtra comparáveis de tamanho parecido e gera a estimativa. Area in m². |
| tipo | string | Tipo do imóvel avaliado (padrão: o mais comum no prédio, ou apartamento). Property type. |
| limite | integer | Quantos comparáveis listar. How many comparables. |
| raio_m | integer | Raio dos comparáveis ao redor, em metros. Radius in meters. |
| quartos | integer | Quartos do imóvel avaliado. Bedrooms. |
| endereco | string | Rua e número: "Rua Fradique Coutinho, 1000". Street and number. |
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"description": "Latitude, se não houver endereço. Latitude if no address."
},
"lon": {
"type": "number",
"description": "Longitude. Longitude."
},
"area": {
"type": "number",
"description": "Área do imóvel avaliado em m²; filtra comparáveis de tamanho parecido e gera a estimativa. Area in m²."
},
"tipo": {
"enum": [
"apartamento",
"casa",
"comercial",
"terreno"
],
"type": "string",
"description": "Tipo do imóvel avaliado (padrão: o mais comum no prédio, ou apartamento). Property type."
},
"limite": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1,
"description": "Quantos comparáveis listar. How many comparables."
},
"raio_m": {
"type": "integer",
"default": 600,
"maximum": 3000,
"minimum": 100,
"description": "Raio dos comparáveis ao redor, em metros. Radius in meters."
},
"quartos": {
"type": "integer",
"minimum": 0,
"description": "Quartos do imóvel avaliado. Bedrooms."
},
"endereco": {
"type": "string",
"description": "Rua e número: \"Rua Fradique Coutinho, 1000\". Street and number."
}
},
"additionalProperties": false
}Mostra a evidência do selo de preço de um imóvel: os imóveis parecidos (mesmo prédio, rua ou bairro, tamanho próximo) que entraram na conta, com preço, área e R$/m², a mediana usada, e as vendas registradas no ITBI do mesmo prédio (data, valor pago, área). Use quando a pessoa pergunta 'esse preço é bom?', 'com o que vocês compararam?', 'por quanto venderam apartamentos nesse prédio?'. | Evidence behind a listing's price label: the comparable listings used (same building/street/neighborhood, similar size) and the registered ITBI sales in the same building.
| Argument | Type | Description |
|---|---|---|
| id* | string | id do imóvel (campo id de buscar_imoveis), ex. im_bae2c52d4cc3. Property id. |
| limite | integer | Quantos comparáveis mostrar. How many comparables. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "id do imóvel (campo id de buscar_imoveis), ex. im_bae2c52d4cc3. Property id."
},
"limite": {
"type": "integer",
"default": 12,
"maximum": 30,
"minimum": 1,
"description": "Quantos comparáveis mostrar. How many comparables."
}
}
}Ficha completa de um imóvel devolvido por buscar_imoveis: todos os anúncios ativos (imobiliária, preço pedido, link, código), histórico de preço, fotos, descrição, características, condomínio e IPTU, metrô, como o preço se compara ao mercado e o que foi pago nas vendas do mesmo prédio segundo o ITBI. Use quando a pessoa quer detalhes, quer comparar imobiliárias anunciando o mesmo imóvel ou perguntar se o preço é bom. | Full record of one property from buscar_imoveis: every active listing (agency, asking price, link), price history, photos, description, amenities, condo fee and property tax, subway, price label explanation and prices actually paid in the same building (ITBI).
| Argument | Type | Description |
|---|---|---|
| id* | string | id do imóvel devolvido por buscar_imoveis (ex.: im_1217cd8f3590). Property id. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "id do imóvel devolvido por buscar_imoveis (ex.: im_1217cd8f3590). Property id."
}
},
"additionalProperties": false
}Ordena imóveis à venda pelo que importa para a pessoa: tempo de trajeto até o trabalho (transporte, carro, bike ou a pé), distância de pessoas importantes (pais, escola), metrô a pé, preço contra parecidos, o que ela não abre mão e regiões que prefere. Devolve nota de 0 a 100, motivos e alertas por imóvel ("~25 min de ônibus até o trabalho", "441 m dos sogros", "19% abaixo de parecidos na mesma rua"). Use quando a pessoa cita trabalho, escola, família ou rotina: 'trabalho na Faria Lima, meus pais moram em Santana, até 1,2 mi, 3 quartos'. Pode mandar tudo em q, ou os pontos já com endereço ou lat/lon. | Rank homes for a person: commute time to work, distance to family/school, subway, price vs comparables, must-haves and preferred areas. Returns a 0-100 score with reasons. Use when work/family locations are mentioned.
| Argument | Type | Description |
|---|---|---|
| q | string | Pedido em linguagem natural: 'casal com bebê, trabalho na Faria Lima, sogros na Rua Cardeal Arcoverde, até 1,8 mi, 3 quartos, metrô perto, com varanda'. Lugares citados viram pontos. Natural-language request. |
| modo | string | Como vai ao trabalho. Commute mode. |
| tipo | string | |
| metro | string | 'sim' quando metrô perto é importante. |
| limite | integer | |
| bairros | array | Bairros preferidos. Preferred neighborhoods. |
| pessoas | array | Pessoas ou lugares para ficar perto: [{quem:'pais', onde:'Santana'}, {quem:'escola', onde:'Rua X, 100'}]. People/places to be close to. |
| area_min | number | |
| objetivo | string | |
| trabalho | string | Endereço ou lugar do trabalho/estudo: 'Av. Paulista, 1000', 'Faria Lima', 'USP'. Work or study place. |
| preco_max | number | |
| tempo_max | integer | Minutos aceitáveis até o trabalho. Max commute minutes. |
| vagas_min | integer | |
| essenciais | array | O que não abre mão. Must-haves. |
| quartos_min | integer |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string",
"description": "Pedido em linguagem natural: 'casal com bebê, trabalho na Faria Lima, sogros na Rua Cardeal Arcoverde, até 1,8 mi, 3 quartos, metrô perto, com varanda'. Lugares citados viram pontos. Natural-language request."
},
"modo": {
"enum": [
"transporte",
"carro",
"bike",
"a_pe"
],
"type": "string",
"default": "transporte",
"description": "Como vai ao trabalho. Commute mode."
},
"tipo": {
"enum": [
"apartamento",
"casa"
],
"type": "string"
},
"metro": {
"enum": [
"sim",
"indiferente",
"nao_uso"
],
"type": "string",
"description": "'sim' quando metrô perto é importante."
},
"limite": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1
},
"bairros": {
"type": "array",
"items": {
"type": "string"
},
"description": "Bairros preferidos. Preferred neighborhoods."
},
"pessoas": {
"type": "array",
"items": {
"type": "object",
"required": [
"onde"
],
"properties": {
"onde": {
"type": "string"
},
"quem": {
"type": "string"
}
}
},
"description": "Pessoas ou lugares para ficar perto: [{quem:'pais', onde:'Santana'}, {quem:'escola', onde:'Rua X, 100'}]. People/places to be close to."
},
"area_min": {
"type": "number"
},
"objetivo": {
"enum": [
"morar",
"investir"
],
"type": "string",
"default": "morar"
},
"trabalho": {
"type": "string",
"description": "Endereço ou lugar do trabalho/estudo: 'Av. Paulista, 1000', 'Faria Lima', 'USP'. Work or study place."
},
"preco_max": {
"type": "number"
},
"tempo_max": {
"type": "integer",
"default": 45,
"maximum": 120,
"minimum": 10,
"description": "Minutos aceitáveis até o trabalho. Max commute minutes."
},
"vagas_min": {
"type": "integer"
},
"essenciais": {
"type": "array",
"items": {
"enum": [
"varanda",
"vaga",
"pet",
"andar_alto",
"reformado",
"piscina",
"academia",
"lazer",
"silencioso",
"portaria_24h",
"mobiliado",
"varanda_gourmet"
],
"type": "string"
},
"description": "O que não abre mão. Must-haves."
},
"quartos_min": {
"type": "integer"
}
}
}Ranking dos 96 distritos de São Paulo pelo m² realmente pago nos últimos 12 meses (ITBI): mais caros, mais baratos, maior alta ou maior queda em 12 meses, por zona (centro, norte, sul, leste, oeste) e por tipo (apartamento ou casa). Use para "quais os bairros mais caros de São Paulo?", "bairro mais barato da zona leste", "onde o m² mais subiu?". | Ranking of São Paulo's 96 districts by actual price paid per m² over the last 12 months: most/least expensive, biggest rise or fall, by zone and property type.
| Argument | Type | Description |
|---|---|---|
| tipo | string | Opcional: só apartamentos ou só casas. Optional property type. |
| zona | string | Opcional: zona da cidade. Optional zone. |
| ordem | string | Ordem. Sort order. |
| limite | integer | Quantos bairros (1–96). How many. |
{
"type": "object",
"properties": {
"tipo": {
"enum": [
"apartamento",
"casa"
],
"type": "string",
"description": "Opcional: só apartamentos ou só casas. Optional property type."
},
"zona": {
"enum": [
"centro",
"norte",
"sul",
"leste",
"oeste"
],
"type": "string",
"description": "Opcional: zona da cidade. Optional zone."
},
"ordem": {
"enum": [
"mais_caros",
"mais_baratos",
"maior_alta",
"maior_queda"
],
"type": "string",
"default": "mais_caros",
"description": "Ordem. Sort order."
},
"limite": {
"type": "integer",
"default": 10,
"maximum": 96,
"minimum": 1,
"description": "Quantos bairros (1–96). How many."
}
},
"additionalProperties": false
}Resumo de um bairro de São Paulo: quantos imóveis estão à venda, preço pedido mediano e R$/m² pedido (no total e por número de quartos), quantos estão abaixo do mercado, perto do metrô, e o preço realmente pago no distrito nos últimos 12 meses segundo o ITBI (R$/m² e valor mediano). Use para "quanto custa um apartamento em Moema?", "qual o preço do m² em Pinheiros?", "Tatuapé ou Mooca, qual é mais barato?" (chame uma vez por bairro). | Summary of a São Paulo neighborhood: homes for sale, median asking price and asking price per m² (overall and by bedrooms), share below market and near the subway, and prices actually paid in the district over the last 12 months (ITBI). Use for 'how much does an apartment cost in Moema' or comparing neighborhoods (one call per neighborhood).
| Argument | Type | Description |
|---|---|---|
| tipo | string | Tipo de imóvel. Property type. |
| bairro* | string | Nome do bairro: "Moema", "Vila Madalena". Neighborhood name. |
{
"type": "object",
"required": [
"bairro"
],
"properties": {
"tipo": {
"enum": [
"apartamento",
"casa",
"comercial",
"terreno"
],
"type": "string",
"default": "apartamento",
"description": "Tipo de imóvel. Property type."
},
"bairro": {
"type": "string",
"description": "Nome do bairro: \"Moema\", \"Vila Madalena\". Neighborhood name."
}
},
"additionalProperties": false
}Preço realmente pago num bairro (distrito) de São Paulo nos últimos 12 meses, pelas vendas registradas no ITBI: m² mediano, variação em 12 meses, valor e área medianos, apartamento e casa separados, faixa do m² (p25–p75), posição entre os bairros mais caros, comparação com a cidade, série por ano desde 2006 (com IPCA), ganho real em revendas do mesmo apartamento e as ruas com mais vendas. Aceita os 96 distritos, bairros como Vila Nova Conceição, Vila Olímpia, Brooklin e Higienópolis, e "São Paulo" para a cidade. Use para "quanto custa o m² em Moema?", "Pinheiros valorizou?", "Tatuapé ou Mooca?" (uma chamada por bairro). | Actual prices paid in a São Paulo district over the last 12 months (ITBI): median price per m², 12-month change, apartments vs houses, rank, yearly series since 2006 and resale gains.
| Argument | Type | Description |
|---|---|---|
| bairro* | string | Bairro ou distrito: "Moema", "Vila Olímpia", "Tatuapé"; "São Paulo" para a cidade. District or neighborhood. |
{
"type": "object",
"required": [
"bairro"
],
"properties": {
"bairro": {
"type": "string",
"description": "Bairro ou distrito: \"Moema\", \"Vila Olímpia\", \"Tatuapé\"; \"São Paulo\" para a cidade. District or neighborhood."
}
},
"additionalProperties": false
}Preço pago de verdade num prédio ou casa de São Paulo, pelas vendas registradas no ITBI da Prefeitura desde 2019: m² mediano (corrigido pelo IPCA), número de vendas, faixa de preço das vendas recentes, tendência, mês da última venda e uma estimativa de quanto vale uma unidade (para a área informada ou para o tamanho mais vendido), com a comparação com o bairro e o link da página do prédio. Use para "quanto vale meu apartamento na Rua X, 123?", "por quanto o vizinho vendeu?", "quanto vale um apê de 80 m² na Alameda Franca, 1633?". Se o número não tiver vendas, devolve os prédios mais perto na mesma rua. | Actual sale prices in a São Paulo building from ITBI records (2019+): median price per m² (inflation-adjusted), number of sales, recent price range, trend and a value estimate for a unit of the given area. Use for 'how much is my apartment at <street, number> worth?'.
| Argument | Type | Description |
|---|---|---|
| area | number | Área do imóvel em m² (área construída do IPTU, se souber) para a estimativa. Unit area in m². |
| slug | string | Alternativa ao endereço: o final da URL itbisp.com/predio/<slug>. |
| endereco | string | Rua e número: "Rua Capote Valente, 1307", "Av. Paulista 1000". Street and number. |
{
"type": "object",
"properties": {
"area": {
"type": "number",
"description": "Área do imóvel em m² (área construída do IPTU, se souber) para a estimativa. Unit area in m²."
},
"slug": {
"type": "string",
"description": "Alternativa ao endereço: o final da URL itbisp.com/predio/<slug>."
},
"endereco": {
"type": "string",
"description": "Rua e número: \"Rua Capote Valente, 1307\", \"Av. Paulista 1000\". Street and number."
}
},
"additionalProperties": false
}Vendas registradas no ITBI numa rua de São Paulo: m² mediano e valor mediano desde 2024, por tipo (apartamento, casa), série por ano desde 2006 (com correção pelo IPCA), bairros por onde passa e os prédios com mais vendas, com links. Use para "qual o preço do m² na Rua Oscar Freire?", "a Alameda Olga valorizou?". Se houver ruas com o mesmo nome em bairros diferentes, passe bairro. | Registered ITBI sales on a São Paulo street: median price per m² since 2024, yearly series since 2006 (inflation-adjusted), districts and the buildings with most sales.
| Argument | Type | Description |
|---|---|---|
| rua* | string | Nome da rua: "Rua Oscar Freire", "Alameda Olga". Street name. |
| bairro | string | Opcional: bairro, para ruas com nome repetido. Optional district. |
{
"type": "object",
"required": [
"rua"
],
"properties": {
"rua": {
"type": "string",
"description": "Nome da rua: \"Rua Oscar Freire\", \"Alameda Olga\". Street name."
},
"bairro": {
"type": "string",
"description": "Opcional: bairro, para ruas com nome repetido. Optional district."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.