Callejear Madrid

MCP somente leitura para as 9.400 ruas oficiais de Madri: busca, cobertura, contexto das ruas e comparações com contagens parciais de serviços em um raio de 500 m.

Servidor MCP hospedado

npx add-mcp 'https://callejear.com/api/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Consulte as ruas pelo seu assistente.

Busque registros de ruas e compare os serviços observados a 500 metros do seu ponto de referência, com suas fontes e limitações.

Serviço público de leitura. A cobertura está limitada ao conjunto retornado por callejear_get_coverage.

Conexão

Transporte: Streamable HTTP. O endpoint de protocolo é diferente desta página de documentação.

https://callejear.com/api/mcp

Cliente testado: @modelcontextprotocol/client 2.3.1. Protocolo: 2025-11-25. Versão implantada: 0.2.0.

Verificação externa: 2026-10-14T11:21:45.041Z. Isso atesta a conexão do SDK; não a compatibilidade com um assistente específico.

Exemplo para Node 22.22.x: instale o cliente fixado, salve o código em consulta.mjs e execute node consulta.mjs.

npm install --save-exact @modelcontextprotocol/[email protected]
import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';

const client = new Client({ name: 'callejear-example', version: '1.0.0' });
try {
  await client.connect(new StreamableHTTPClientTransport(
    new URL('https://callejear.com/api/mcp')
  ));
  console.log(await client.callTool({
    name: 'callejear_get_coverage', arguments: {}
  }));
} finally {
  await client.close();
}

O piloto foi projetado para consultas públicas sem autenticação. Ele não realiza ações sobre imóveis ou campanhas, nem solicita credenciais de outros serviços.

Serviço MCP somente leitura para Madri. A ferramenta de cobertura informa a extensão do catálogo e a data da fonte. As contagens de serviços próximos descrevem observações parciais em torno de pontos representativos, não ruas inteiras ou recomendações de moradia.

Um município, cobertura explícita

9400 registros suportados

500 m raio único

Madri Espanha · INE 28079

Catálogo completo dos 9400 códigos de via da fonte municipal, atualizado em 2026-10-13T06:39:42+00:00. 9151 têm ponto de referência validado e 249 continuam disponíveis para busca com localização e métricas em null. 4 códigos mantêm nomes contraditórios na origem, sinalizados como official_name_conflict. A cobertura corresponde ao município de Madri e a esta data; o inventário de serviços continua parcial.

  • Registros de farmácia — contagem de registros.
  • Registros de escola — contagem de registros.
  • Registros de supermercado — contagem de registros.
  • Registros de biblioteca — contagem de registros.

Sem dados de segurança, qualidade educacional, frequência de transporte, preços imobiliários ou classificação de melhores ruas para morar.

Configuração de clientes

Exemplos de configuração; a verificação do SDK indicada acima não certifica todos esses clientes. A disponibilidade depende da versão, do plano e das permissões do cliente.

Claude Code

claude mcp add --transport http callejear https://callejear.com/api/mcp

Cursor

Em .cursor/mcp.json, conforme o guia oficial:

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

VS Code

Em .vscode/mcp.json, conforme o guia oficial:

{"servers":{"callejear":{"type":"http","url":"https://callejear.com/api/mcp"}}}

Claude web e Desktop · ChatGPT

Quando sua conta permitir conectores MCP remotos, use https://callejear.com/api/mcp como URL. Consulte as etapas e a disponibilidade nos guias do Claude e do ChatGPT. O piloto oferece dados públicos sem credenciais; cada interface não foi verificada aqui.

Quatro ferramentas de leitura

callejear_get_coverage

Descubra quais registros, dimensões e raios você pode consultar.

city_id opcional. Outro município retorna out_of_coverage.

callejear_search_streets

Busca por nome e retorna IDs estáveis; ponto e link ficam em null quando não verificados.

city_id, query de 2–120 caracteres, limit de 1–20 e cursor opcional.

callejear_get_street_context

Consulta os registros de serviços observados ao redor do ponto.

street_id, radius_m opcional (500) e dimensions opcional.

callejear_compare_streets

Compara métricas equivalentes preservando ausência de dados e parcialidade.

street_ids: entre 2 e 5 IDs distintos; dimensions e radius_m opcionais.

Não são suportados filtros de métricas nesta versão. A busca exige texto, não aceita um inventário vazio e retorna no máximo 20 resultados. Dimensões ou raios desconhecidos são rejeitados; nunca ignorados.

Chaves de dimensão: pharmacy_records (farmácias), school_records (escolas), supermarket_records (supermercados) e library_records (bibliotecas). São contagens de registros observados.

A busca prioriza nomes exatos ignorando o tipo de via e o artigo inicial. Os cursores expiram em 15 minutos e pertencem a uma busca, tamanho de página, ordem e versão de dados específicos. Se a ordem mudar entre versões, inicie uma nova busca.

Ruas de controle: Alcalá, Atocha, Serrano, Goya, Fuencarral, Gran Vía e Paseo del Prado. Os identificadores oficiais es:28079:via:… permitem consultar todas as vias do catálogo; os anteriores legacy:calle:… continuam funcionando. As respostas usam o esquema 2.0: point, canonical_url e reference_geometry podem ser null. Não são inventadas fichas web para as vias incorporadas. As variantes de nome constam em name_variants.

Exemplos com registros do conjunto

1. Descobrir cobertura

callejear_get_coverage
{"city_id":"28079"}

2. Buscar uma rua

callejear_search_streets
{"city_id":"28079","query":"Alcalá","limit":5}

3. Consultar seu entorno

callejear_get_street_context
{"street_id":"legacy:calle:109907","radius_m":500,"dimensions":["pharmacy_records","school_records"]}

4. Comparar dois registros

callejear_compare_streets
{"street_ids":["legacy:calle:109907","legacy:calle:110074"],"radius_m":500}

Registros utilizados: Calle de Alcalá e Calle de Atocha. São localizações de referência específicas; a comparação não escolhe uma moradia nem um vencedor.

O que significam os valores

  • O entorno corresponde ao ponto representativo do registro, não à rua inteira.
  • Distâncias em linha reta; não são percursos nem minutos caminhando.
  • Inventário local parcial de Madri. Nas bordas municipais podem faltar serviços do município vizinho.
  • Contam-se registros, não estabelecimentos únicos. O tipo OSM não foi preservado e podem existir representações duplicadas.
  • A data individual do inventário de serviços é desconhecida; sua atividade atual não foi verificada.
  • Zero significa zero registros observados; não demonstra ausência real de serviços.
  • A cobertura completa refere-se a códigos do callejero oficial em uma data específica, não a serviços completos nem a toda a Comunidade de Madri.
  • Registros sem ponto validado continuam consultáveis; seu ponto, link web não verificado e métricas ficam em null.
  • Códigos com várias denominações oficiais mantêm todas as variantes e não recebem métricas.
  • Os novos pontos vêm da superfície municipal; os anteriores mantêm seu segmento OSM. Comparar pontos não equivale a comparar vias inteiras.

partial indica que o inventário pode estar incompleto. null indica dado indisponível; não é substituído por zero. Dois valores só são comparados se compartilham definição, raio, unidade e método.

A data de cálculo do pacote é 2026-10-14T09:48:48.771270+00:00. Não é a data de atualização dos serviços. Cada fonte preserva separadamente as datas conhecidas; as desconhecidas permanecem vazias.

Versão de dados

madrid-a5802f9ce7bc1947f9b1069ba61d5cf240cb9bde6a6d235ae51d6a47187856f7

Limites de uso

ControleValor
ComparaçãoEntre 2 e 5 registros distintos, de 1 a 4 dimensões
Cota por origem30 chamadas a ferramentas por minuto e 100 por dia UTC
Orçamento conjunto1.000 chamadas diárias, janela UTC
Tempo de consultaAté 5 segundos
RespostaAté 32 KiB serializados

Os limites também se aplicam quando se usa cache. Atingir a cota global pode deixar temporariamente sem serviço todos os clientes. O piloto pode ser desativado sem retirar as fichas públicas.

As cotas de ferramentas são reservadas após validar o nome e os argumentos; incluem acertos de cache e consultas válidas que terminam em erro. Requisições inválidas, discovery e saúde têm um limite HTTP independente de 60/minuto por origem e 300/minuto globais. As janelas por minuto são fixas. Compartilhar IP ou rede IPv6 /64 implica compartilhar cota. A busca sempre valida os cursores e não usa cache.

Uma cota de ferramenta esgotada retorna quota_exceeded dentro da resposta MCP (HTTP 200). RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset descrevem sua janela por minuto; X-Callejear-Daily-Remaining indica o orçamento diário disponível e X-Callejear-Retry-After os segundos de espera quando rejeitado. O limite HTTP retorna 429 com Retry-After. Não se deve interpretar apenas os códigos HTTP para saber se uma ferramenta teve sucesso.

A comparação de 5 registros e 4 dimensões preserva todos os dados em structuredContent. Quando duplicar o JSON excede o limite, content[0].text oferece um resumo legível com atribuição e limitações. Os clientes devem ler os dados completos de structuredContent; não assumir que todo texto é JSON. Se um resultado futuro exceder o limite mesmo assim, response_too_large orienta a reduzir resultados ou dimensões.

O piloto não oferece mensagens de servidor por SSE: um GET com Accept: text/event-stream recebe 405 imediatamente. As consultas são enviadas por POST.

As chamadas MCP são medidas separadamente das visitas web. Não são registrados prompts completos, consultas livres nem tokens na análise do piloto.

Fontes e reutilização

OpenStreetMap

© OpenStreetMap contributors

Fonte e condições · ODbL-1.0

Inventário local parcial de Madri. Nas bordas municipais podem faltar serviços do município vizinho. Contam-se registros, não estabelecimentos únicos. O tipo OSM não foi preservado e podem existir representações duplicadas. A data individual do inventário de serviços é desconhecida; sua atividade atual não foi verificada.

Atualização conhecida: não preservada.

OpenStreetMap street geometry

© OpenStreetMap contributors

Fonte e condições · ODbL-1.0

Geometria do elemento de origem, não da via inteira.

Atualização conhecida: 2026-10-03T11:41:01Z.

Ayuntamiento de Madrid — Callejero oficial

Ayuntamiento de Madrid; cruzamento e seleção realizados por Callejear, sem respaldo institucional.

Fonte e condições · CC-BY-4.0

Catálogo completo de códigos do CSV municipal vigente na data indicada; as denominações contraditórias são sinalizadas expressamente.

Atualização conhecida: 2026-10-13T06:39:42+00:00.

Ayuntamiento de Madrid — superfícies viárias

Ayuntamiento de Madrid; cruzamento e seleção realizados por Callejear, sem respaldo institucional.

Fonte e condições · CC-BY-4.0

Geometria baixada em 2026-10-03T11:33:20.175321+00:00. Data de edição desconhecida. Ponto interior da maior superfície dentro do município; não é um centro da via inteira.

Atualização conhecida: não preservada.

Seleção, cruzamento e contagens elaborados por Callejear. O Ayuntamiento de Madrid e o OpenStreetMap não patrocinam nem certificam este serviço.

O extrato derivado do OSM é oferecido sob ODbL 1.0. Os dados municipais preservam atribuição e CC BY 4.0.

Responsável e contato

Yoel Castaño Peón, Callejear. Para informar um erro, inclua o ID do registro e a versão de dados: [email protected].