Vista de calle MCP
Un servidor de protocolo modelo-cliente (MCP) para la API de Google Street View que permite que los modelos de IA obtengan y muestren imágenes de vistas de calles y creen recorridos virtuales.
Uso con Claude Desktop
Para utilizar Street View MCP con Claude Desktop:
Asegúrese de tener instalado
uv: Guía de instalación de UVClonar este repositorio:
git clone https://github.com/vlad-ds/street-view-mcp.git cd street-view-mcpInstalar dependencias:
uv pip install -e ".[dev]"Obtenga una clave API de Google Maps (instrucciones a continuación)
Agregue lo siguiente a su archivo
claude_desktop_config.jsonde Claude Desktop:
"street_view": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/street-view-mcp", // Replace with your actual path
"mcp",
"run",
"src/street_view_mcp/server.py"
],
"env": {
"API_KEY": "your_google_maps_api_key_here" // Add your API key here
}
}Después de la configuración, puedes usar Street View MCP en Claude Desktop simplemente escribiendo "/street_view".
Related MCP server: Image Toolkit MCP Server
Descripción general
Street View MCP proporciona una interfaz sencilla para que los modelos de IA puedan:
Obtener imágenes de Street View por dirección, coordenadas o ID de panorama
Guardar imágenes en archivos locales
Abrir imágenes guardadas en el visor predeterminado
Cree páginas HTML que compilen múltiples imágenes de Street View en recorridos virtuales
Requisitos
Python 3.9+
Clave API de Google Maps con API de Street View habilitada
paquete
fastmcpgestor de paquetes
uv(recomendado)
Instalación
# Clone the repository
git clone https://github.com/vlad-ds/street-view-mcp.git
cd street-view-mcp
# Create and activate a virtual environment with uv (recommended)
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
uv pip install -e ".[dev]"Configuración de la clave API
El MCP de Street View requiere una clave API de Google Maps con la API de Street View habilitada:
Visita la consola de Google Cloud
Crea un nuevo proyecto o selecciona uno existente
Habilite la "API estática de Street View" en la biblioteca de API
Cree una clave API desde la página Credenciales
Establezca la clave API como una variable de entorno:
# Set temporarily in your shell:
export API_KEY=your_api_key_here
# Or create a .env file in the project root:
echo "API_KEY=your_api_key_here" > .envUso
Iniciando el servidor MCP
python -m street_view_mcp.main --host 127.0.0.1 --port 8000El servidor estará disponible para los modelos de IA en el host y puerto especificados.
Uso como herramienta CLI
# Fetch Street View image by address
python -m street_view_mcp.street_view --address "Empire State Building, NY" --output output/empire_state.jpg
# Fetch Street View image by latitude/longitude
python -m street_view_mcp.street_view --latlong "40.748817,-73.985428" --output output/coords.jpg --heading 180
# Fetch Street View image by panorama ID
python -m street_view_mcp.street_view --pano PANO_ID --output output/panorama.jpgHerramientas MCP
El MCP de Street View proporciona las siguientes herramientas para modelos de IA:
get_street_view
Obtiene una imagen de Street View según la ubicación, las coordenadas o el ID del panorama y la guarda en un archivo.
{
"filename": "empire_state.jpg",
"location": "Empire State Building, NY",
"size": "600x400",
"heading": 90,
"pitch": 10
}Parámetros:
filename(obligatorio): nombre para guardar la imagen (no debe existir ya)location(opcional): Dirección para obtener la imagenlat_lng(opcional): coordenadas separadas por comas (p. ej., "40.748817,-73.985428")pano_id(opcional): ID de panorama específicosize(opcional): Dimensiones de la imagen como "ancho x alto" (predeterminado: "600x400")heading(opcional): rumbo de la cámara en grados (0-360, predeterminado: 0)pitch(opcional): Inclinación de la cámara en grados (-90 a 90, predeterminado: 0)fov(opcional): Campo de visión en grados (10-120, predeterminado: 90)radius(opcional): radio de búsqueda en metros (predeterminado: 50)source(opcional): Fuente de la imagen ("predeterminada" o "exterior", predeterminada: "predeterminada")
Nota: Se debe proporcionar exactamente uno de los valores: location , lat_lng o pano_id .
get_metadata
Obtiene metadatos sobre un panorama de Street View.
{
"location": "Empire State Building, NY"
}Parámetros:
Los mismos parámetros de ubicación que
get_street_viewDevuelve metadatos JSON con estado, derechos de autor, fecha, ID de panorama y coordenadas
open_image_locally
Abre una imagen de Street View guardada en la aplicación predeterminada.
{
"filename": "empire_state.jpg"
}Parámetros:
filename(obligatorio): el nombre del archivo de la imagen a abrir (debe existir en el directorio de salida)
create_html_page
Crea una página HTML que muestra múltiples imágenes de Street View como un recorrido virtual.
{
"filename": "nyc_tour.html",
"title": "New York City Tour",
"html_elements": [
"<h1>New York City Landmarks Tour</h1>",
"<p>Explore famous landmarks through Street View images.</p>",
"<h2>Empire State Building</h2>",
"<img src='../output/empire.jpg' alt='Empire State Building'>",
"<p class='location'>350 Fifth Avenue, New York, NY</p>",
"<p class='description'>This 102-story Art Deco skyscraper was completed in 1931.</p>"
]
}Parámetros:
html_elements(obligatorio): Lista de elementos de contenido HTMLfilename(obligatorio): nombre del archivo HTMLtitle(opcional): Título de la página (predeterminado: "Recorrido por Street View")
Importante: Al referenciar imágenes, utilice siempre la ruta ../output/filename.jpg .
Creación de recorridos virtuales
El MCP de Street View permite la creación de recorridos virtuales combinando múltiples imágenes de Street View con texto descriptivo en una página HTML.
Ejemplo de flujo de trabajo para crear un recorrido:
Obtener imágenes de diferentes ubicaciones:
get_street_view(filename="empire.jpg", location="Empire State Building, NY")
get_street_view(filename="times_square.jpg", location="Times Square, NY")
get_street_view(filename="central_park.jpg", location="Central Park, NY")Crear una página de recorrido HTML:
create_html_page(
filename="nyc_tour.html",
title="New York City Tour",
html_elements=[
"<h1>New York City Landmarks Tour</h1>",
"<p>Explore these famous NYC landmarks through Street View images.</p>",
"<h2>Empire State Building</h2>",
"<img src='../output/empire.jpg' alt='Empire State Building'>",
"<p class='location'>350 Fifth Avenue, New York, NY</p>",
"<p class='description'>An iconic 102-story Art Deco skyscraper in Midtown Manhattan.</p>",
"<h2>Times Square</h2>",
"<img src='../output/times_square.jpg' alt='Times Square'>",
"<p class='location'>Broadway & 7th Avenue, New York, NY</p>",
"<p class='description'>Famous for its bright lights, Broadway theaters, and as the site of the annual New Year's Eve ball drop.</p>",
"<h2>Central Park</h2>",
"<img src='../output/central_park.jpg' alt='Central Park'>",
"<p class='location'>Central Park, New York, NY</p>",
"<p class='description'>An urban park spanning 843 acres in the heart of Manhattan.</p>"
]
)Estructura del proyecto
street_view_mcp/__init__.py: Inicialización del paquetemain.py: Punto de entrada para el servidor MCPserver.py: implementación del servidor MCPstreet_view.py: Cliente de la API principal de Street View
Notas importantes
Almacenamiento local : esta herramienta guarda todas las imágenes de Street View y los archivos HTML localmente en el directorio
output/Sin limpieza automática : no hay un mecanismo integrado para eliminar archivos guardados
Limpieza manual : debe limpiar periódicamente el directorio
output/para administrar el espacio en discoUso de API : cada solicitud de imagen cuenta para su cuota de API de Google Maps y puede generar cargos.
Desarrollo
Pruebas
pytestLicencia
Instituto Tecnológico de Massachusetts (MIT)
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.