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
| Controle | Valor |
|---|---|
| Comparação | Entre 2 e 5 registros distintos, de 1 a 4 dimensões |
| Cota por origem | 30 chamadas a ferramentas por minuto e 100 por dia UTC |
| Orçamento conjunto | 1.000 chamadas diárias, janela UTC |
| Tempo de consulta | Até 5 segundos |
| Resposta | Até 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].