About PanoOn Street View
PanoOn Street View is a zero-dependency stdio MCP server for code agents that wraps the PanoOn local service and distributed controller. It supports scanning Street View areas for PanoIDs and downloading imagery.
Key features
- 01Scan polygon areas for PanoIDs
- 02Download Street View imagery
- 03Check scan and download job status
- 04Cancel scans and download jobs
- 05Inspect service and worker status
Use cases
- 01Find PanoIDs within a selected area
- 02Download imagery for identified PanoIDs
MCP support
Exposes PanoOn scanning, download, status, and cancellation operations as tools to MCP clients. It connects to the PanoOn service running locally at the configured URL.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y panoon-mcpPANOON_SERVICE_URLPanoOn local service base URL (default http://127.0.0.1:8787)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
10Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEPanoOn MCP + agent skills
Give any MCP-capable code agent the ability to scan and download Street View data
through PanoOn: mcp/panoon-mcp.mjs is a zero-dependency MCP stdio server that
wraps the PanoOn local service and the distributed controller.
Quick start (npm)
npx -y panoon-mcp
The npm package panoon-mcp exposes the panoon-mcp bin. You can also download
panoon-mcp.zip from https://app.rjfan.org/panoon/mcp/, or use the copy bundled
with PanoOn 0.2.21+ (<install>\mcp\panoon-mcp.mjs).
Prerequisite: the PanoOn app/service is running on the same machine
(http://127.0.0.1:8787; the desktop app starts it automatically since 0.2.20).
The server
node mcp/panoon-mcp.mjs
# or with the runtime bundled with PanoOn (no Node install required):
"C:\Users\<you>\AppData\Local\PanoOn\panoon-service-runtime.exe" mcp\panoon-mcp.mjs
Environment:
| Variable | Default | Meaning |
|---|---|---|
PANOON_SERVICE_URL | http://127.0.0.1:8787 | Local service base URL. |
Tools: panoon_status, panoon_area_scan, panoon_area_status,
panoon_area_result, panoon_area_cancel, panoon_download,
panoon_job_status, panoon_jobs, panoon_workers, panoon_cancel_job.
Install per agent
OpenCode (V2)
opencode mcp add panoon --global -- node <repo>\mcp\panoon-mcp.mjs
opencode mcp list
or by hand in ~/.config/opencode/opencode.jsonc:
{
"mcp": {
"servers": {
"panoon": {
"type": "local",
"command": ["node", "<repo>/mcp/panoon-mcp.mjs"],
"environment": { "PANOON_SERVICE_URL": "http://127.0.0.1:8787" }
}
}
}
}
Skill: copy mcp/skills/panoon/ into your OpenCode skills location (or reference
the folder from the skills configuration field).
Claude Code
claude mcp add --scope user panoon -- node <repo>/mcp/panoon-mcp.mjs
or .mcp.json:
{ "mcpServers": { "panoon": { "command": "node", "args": ["<repo>/mcp/panoon-mcp.mjs"] } } }
Skill: copy mcp/skills/panoon/ to ~/.claude/skills/panoon/.
Codex CLI
Add to ~/.codex/config.toml:
[mcp_servers.panoon]
command = "node"
args = ["<repo>/mcp/panoon-mcp.mjs"]
env = { PANOON_SERVICE_URL = "http://127.0.0.1:8787" }
For Codex, paste the workflow section of mcp/skills/panoon/SKILL.md into your
AGENTS.md so the agent knows the intended flow.
Any other MCP client (stdio)
Use the generic stdio contract:
{
"command": "node",
"args": ["<repo>/mcp/panoon-mcp.mjs"],
"env": { "PANOON_SERVICE_URL": "http://127.0.0.1:8787" }
}
DeepSeek Harness (dsh)
deepseek mcp add panoon --command node --arg <repo>\mcp\panoon-mcp.mjs
deepseek mcp list
This writes ~/.deepseek/mcp.json (servers.panoon; tools surface namespaced by
the harness). Install the skill by copying mcp/skills/panoon/ into
~/.deepseek/skills/panoon/ — dsh uses the same SKILL.md contract as Claude
Code — then restart the harness so both are picked up.
On this machine the working example is:
deepseek mcp add panoon --command node --arg D:\04_Dev\PanoOn\mcp\panoon-mcp.mjs
copy D:\04_Dev\PanoOn\mcp\skills\panoon %USERPROFILE%\.deepseek\skills\panoon
Typical agent flow
panoon_status→ service healthy, strategies available.panoon_area_scan { polygon: [{lat,lng}, ...] }→ jobId;panoon_area_result→ PanoIDs.- Confirm output directory with the user.
panoon_download { panoids, outputDir }→ jobId;panoon_job_statusfor progress.
Safety: downloads are large (~0.5 MB/image) and consume proxy quota. Agents should confirm scope and output paths before submitting jobs; scans are cheap and can be cancelled at any time.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.