ストリートビューMCP
AI モデルがストリートビュー画像を取得して表示し、バーチャル ツアーを作成できるようにする、Google ストリート ビュー API 用のモデル クライアント プロトコル (MCP) サーバー。
Claude Desktopでの使用
Claude Desktop で Street View MCP を使用するには:
uvがインストールされていることを確認してください: UVインストールガイドこのリポジトリをクローンします:
git clone https://github.com/vlad-ds/street-view-mcp.git cd street-view-mcp依存関係をインストールします:
uv pip install -e ".[dev]"Google Maps 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
}
}設定後、「/street_view」と入力するだけで、Claude Desktop で Street View MCP を使用できるようになります。
Related MCP server: Image Toolkit MCP Server
概要
Street View MCP は、AI モデルに次の機能を提供するシンプルなインターフェースを提供します。
住所、座標、パノラマ ID でストリートビュー画像を取得します
画像をローカルファイルに保存する
保存した画像をデフォルトのビューアで開く
複数のストリートビュー画像をバーチャルツアーにまとめた HTML ページを作成する
要件
Python 3.9以上
ストリートビュー API が有効になっている Google マップ 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キーの設定
ストリート ビュー 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.jpgMCPツール
ストリートビュー 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(オプション): 特定のパノラマIDsize(オプション): 画像の寸法を「幅x高さ」で指定します (デフォルト: 「600x400」)heading(オプション):カメラの方向(0~360度、デフォルト:0)pitch(オプション):カメラのピッチ(-90~90度、デフォルト:0)fov(オプション):視野角(10~120度、デフォルト:90度)radius(オプション): 検索半径(メートル単位)(デフォルト: 50)source(オプション):画像ソース(「default」または「outdoor」、デフォルト:「default」)
注意: location 、 lat_lng 、 pano_idのいずれか 1 つを指定する必要があります。
get_metadata
ストリートビューのパノラマに関するメタデータを取得します。
{
"location": "Empire State Building, NY"
}パラメータ:
get_street_viewと同じ場所パラメータステータス、著作権、日付、パノラマID、座標を含むJSONメタデータを返します。
open_image_locally
保存したストリートビュー画像をデフォルトのアプリケーションで開きます。
{
"filename": "empire_state.jpg"
}パラメータ:
filename(必須): 開く画像のファイル名(出力ディレクトリに存在する必要があります)
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>"
]
}パラメータ:
html_elements(必須): HTMLコンテンツ要素のリストfilename(必須): HTMLファイルの名前title(オプション): ページのタイトル(デフォルト:「ストリートビューツアー」)
重要: 画像を参照するときは、常にパス../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>"
]
)プロジェクト構造
street_view_mcp/__init__.py: パッケージの初期化main.py: MCP サーバーのエントリ ポイントserver.py: MCP サーバーの実装street_view.py: コアストリートビュー API クライアント
重要な注意事項
ローカルストレージ: このツールは、すべてのストリートビュー画像とHTMLファイルを
output/ディレクトリにローカルに保存します。自動クリーンアップなし:保存されたファイルを削除する組み込みメカニズムはありません
手動クリーンアップ: ディスクスペースを管理するために、
output/ディレクトリを定期的にクリーンアップする必要があります。API の使用: 各画像リクエストは Google Maps API の割り当てにカウントされ、料金が発生する場合があります。
発達
テスト
pytestライセンス
マサチューセッツ工科大学
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.