Просмотр улиц MCP
Сервер Model-Client-Protocol (MCP) для API Google Street View, который позволяет моделям ИИ извлекать и отображать изображения улиц и создавать виртуальные туры.
Использование с Claude Desktop
Чтобы использовать Street View MCP с Claude Desktop:
Убедитесь, что у вас установлено
uv: Руководство по установке УФ-оборудованияКлонируйте этот репозиторий:
git clone https://github.com/vlad-ds/street-view-mcp.git cd street-view-mcpУстановить зависимости:
uv pip install -e ".[dev]"Получите ключ API Google Карт (инструкции ниже)
Добавьте следующее в файл
claude_desktop_config.jsonвашего рабочего стола Claude:
"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
}
}После настройки вы можете использовать Street View MCP в Claude Desktop, просто введя «/street_view».
Related MCP server: Image Toolkit MCP Server
Обзор
Street View MCP предоставляет простой интерфейс для моделей ИИ для:
Получайте изображения Street View по адресу, координатам или идентификатору панорамы
Сохранение изображений в локальных файлах
Открывайте сохраненные изображения в средстве просмотра по умолчанию
Создавайте HTML-страницы, которые объединяют несколько изображений Street View в виртуальные туры.
Требования
Питон 3.9+
Ключ API Карт Google с включенным Street View API
пакет
fastmcpменеджер пакетов
uv(рекомендуется)
Установка
# 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]"Настройка API-ключа
Для Street View MCP требуется ключ API Карт Google с включенным Street View API:
Посетите Google Cloud Console
Создайте новый проект или выберите существующий
Включите «Street View Static API» в библиотеке API
Создайте ключ API на странице «Учетные данные»
Установите ключ API как переменную среды:
# 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" > .envИспользование
Запуск MCP-сервера
python -m street_view_mcp.main --host 127.0.0.1 --port 8000Сервер будет доступен для моделей ИИ на указанном хосте и порту.
Использование в качестве инструмента 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.jpgИнструменты МКП
Street View MCP предоставляет следующие инструменты для моделей ИИ:
get_street_view
Извлекает изображение Street View на основе местоположения, координат или идентификатора панорамы и сохраняет его в файл.
{
"filename": "empire_state.jpg",
"location": "Empire State Building, NY",
"size": "600x400",
"heading": 90,
"pitch": 10
}Параметры:
filename(обязательно): Имя для сохранения изображения (не должно существовать)location(необязательно): Адрес для получения изображенияlat_lng(необязательно): координаты, разделенные запятыми (например, «40.748817,-73.985428»)pano_id(необязательно): Конкретный идентификатор панорамыsize(необязательно): Размеры изображения как «ширинаxвысота» (по умолчанию: «600x400»)heading(необязательно): направление камеры в градусах (0-360, по умолчанию: 0)pitch(необязательно): наклон камеры в градусах (от -90 до 90, по умолчанию: 0)fov(необязательно): Поле зрения в градусах (10-120, по умолчанию: 90)radius(необязательно): Радиус поиска в метрах (по умолчанию: 50)source(необязательно): Источник изображения («по умолчанию» или «на улице», по умолчанию: «по умолчанию»)
Примечание: необходимо указать только один из параметров location , lat_lng или pano_id .
get_metadata
Извлекает метаданные о панораме Street View.
{
"location": "Empire State Building, NY"
}Параметры:
Те же параметры местоположения, что и у
get_street_viewВозвращает метаданные JSON со статусом, авторскими правами, датой, идентификатором панорамы и координатами.
open_image_locally
Открывает сохраненное изображение Street View в приложении по умолчанию.
{
"filename": "empire_state.jpg"
}Параметры:
filename(обязательно): имя файла изображения, которое нужно открыть (должно существовать в выходном каталоге)
create_html_page
Создает HTML-страницу, которая отображает несколько изображений Street View в виде виртуального тура.
{
"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>"
]
}Параметры:
html_elements(обязательно): Список элементов содержимого HTMLfilename(обязательно): Имя файла HTMLtitle(необязательно): заголовок страницы (по умолчанию: «Street View Tour»)
Важно: при ссылке на изображения всегда используйте путь ../output/filename.jpg .
Создание виртуальных туров
Street View MCP позволяет создавать виртуальные туры путем объединения нескольких изображений Street View с описательным текстом на HTML-странице.
Пример рабочего процесса создания тура:
Получить изображения разных мест:
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")Создайте 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>"
]
)Структура проекта
street_view_mcp/__init__.py: Инициализация пакетаmain.py: Точка входа для сервера MCPserver.py: реализация сервера MCPstreet_view.py: Основной клиент Street View API
Важные примечания
Локальное хранилище : этот инструмент сохраняет все изображения Street View и HTML-файлы локально в каталоге
output/.Нет автоматической очистки : нет встроенного механизма удаления сохраненных файлов.
Ручная очистка : необходимо периодически очищать каталог
output/для управления дисковым пространством.Использование API : каждый запрос изображения учитывается в вашей квоте API Карт Google и может повлечь за собой плату.
Разработка
Тестирование
pytestЛицензия
Массачусетский технологический институт