Bug Bash 2026-08: Street View Imagery Insights MCP Server - #82
Bug Bash 2026-08: Street View Imagery Insights MCP Server#82akshitmeghawat wants to merge 1 commit into
Conversation
FYI: The gcloud run services describe streetview-imagery-insights-mcp \
--project "${PROJECT_ID}" \
--region "${REGION}"
...and the server side (Cloud Run) logs are showing: The In PR #59, I got around this using a proxy server (see instructions here. Alternatively, you can try removing the |
9b3c45e to
bab566c
Compare
|
Modified the README.md as per your comment and also modified deploy.sh after running it with jetski cli. |
There was a problem hiding this comment.
Unfortunately, this forces all queries to use only datasets in the same GCP project as either the user's application default credentials (local server) or the Cloud Run service (deployed server).
Jetski generated this shared method to allow clients to supply fully qualified dataset IDs:
def resolve_dataset(dataset_ref: str, default_project: str) -> tuple[str, str]:
"""Resolves dataset reference to project and dataset IDs.
Handles:
- "dataset_id" -> (default_project, "dataset_id")
- "project_id.dataset_id" -> ("project_id", "dataset_id")
- "project_id:dataset_id" -> ("project_id", "dataset_id")
"""
if "." in dataset_ref:
project_id, dataset_id = dataset_ref.split(".", 1)
return project_id, dataset_id
elif ":" in dataset_ref:
project_id, dataset_id = dataset_ref.split(":", 1)
return project_id, dataset_id
return default_project, dataset_refThen this client.bq_project can be replaced with:
project_id, dataset_id = resolve_dataset(dataset_id, client_bq.project)FYI: You'll need to make this change in the other 4 tool endpoints as well.
There was a problem hiding this comment.
added the resolve_dataset function
| 3. **`analyze_cropped_asset`**: Downloads full-frame image, crops to asset bounding box, runs Gemini analysis in GCP, and returns text results. | ||
| 4. **`analyze_full_frame_context`**: Submits full-frame image (optionally with bounding box drawn) to Gemini for contextual scene understanding. | ||
| 5. **`analyze_panorama_perspective`**: Extracts a perspective crop from a spherical panorama (heading, pitch, fov) and runs Gemini analysis. | ||
|
|
There was a problem hiding this comment.
I think a couple examples are warranted here.
eg. When I finally got the local server working and Jetski properly configured, this is how I triggered the list_assets tool call:
street-view-insights list_assets imagery-insights-d1xs9z.imagery_insights___us
There was a problem hiding this comment.
Added the trigger example for list_assets
There was a problem hiding this comment.
all_assets table is deprecated.
Please update to use the newer table.
You'll find the there are 3 other queries in this file that also need to be updated to stop using deprecated tables.
There was a problem hiding this comment.
Used the new tables in the script.
These were the changes I made
- In
list_assetscall: all_assets -> latest_assets - In
get_asset_observationscall: all_observations -> latest_observations - In
analyze_cropped_assetcall: all_observations -> cropped_observations_all - In
analyze_full_frame_contextcall: all_observations -> full_frame_observations_all
bab566c to
098cccf
Compare
Summary of changes
fastmcpinstead of coremcpSDK (v2.0.0), which does not contain the fastmcp module in its path.fastmcpgcloud deploycommands in deploy.sh--allow-unauthenticatedflagimagery_insights___usdatasetresolve_datasetto allow clients to supply fully qualified dataset IDs