街景 MCP
用于 Google 街景 API 的模型客户端协议 (MCP) 服务器,使 AI 模型能够获取和显示街景图像并创建虚拟游览。
与 Claude Desktop 一起使用
要将街景视图 MCP 与 Claude Desktop 结合使用:
确保已安装uv : UV 安装指南
克隆此存储库:
git clone https://github.com/vlad-ds/street-view-mcp.git
cd street-view-mcp
安装依赖项:
uv pip install -e ".[dev]"
获取 Google 地图 API 密钥(说明如下)
将以下内容添加到您的 Claude Desktop claude_desktop_config.json文件中:
"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
}
}
配置完成后,您只需在 Claude Desktop 中输入“/street_view”即可使用街景 MCP。
Related MCP server: Image Toolkit MCP Server
概述
街景 MCP 为 AI 模型提供了一个简单的界面,可以:
通过地址、坐标或全景图 ID 获取街景图像
将图像保存到本地文件
在默认查看器中打开已保存的图像
创建 HTML 页面,将多张街景图像编译成虚拟游览
要求
安装
# 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 密钥设置
街景视图 MCP 需要启用街景视图 API 的 Google 地图 API 密钥:
访问Google Cloud Console
创建新项目或选择现有项目
在 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
该服务器将可供指定主机和端口上的 AI 模型使用。
用作 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
MCP 工具
街景 MCP 为 AI 模型提供了以下工具:
get_street_view
根据位置、坐标或全景图 ID 获取街景图像并将其保存到文件中。
{
"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 (可选):具体全景图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
获取有关街景全景图的元数据。
{
"location": "Empire State Building, NY"
}
参数:
open_image_locally
在默认应用程序中打开已保存的街景图像。
{
"filename": "empire_state.jpg"
}
参数:
create_html_page
创建一个 HTML 页面,以虚拟游览的形式显示多张街景图像。
{
"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>"
]
}
参数:
重要提示:引用图像时,请始终使用路径../output/filename.jpg 。
创建虚拟旅游
街景 MCP 通过将多张街景图像与 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>"
]
)
项目结构
重要说明
本地存储:此工具将所有街景图像和 HTML 文件本地保存在output/目录中
没有自动清理:没有内置机制来删除已保存的文件
手动清理:您应该定期清理output/目录以管理磁盘空间
API 使用情况:每个图像请求都会计入您的 Google Maps API 配额,并且可能会产生费用
发展
测试
执照
麻省理工学院