CCPhoto — Phone Camera Bridge
Phone camera bridge for Claude Code — photos, live video, voice, and generative UI
Connector by stepankaiser · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/stepankaiser-ccphoto
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 3 read · 2 write · 0 delete · 2 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 7
Read from the source code; the running server may list different tools.
Read 3 · Look things up without changing anything.
get_latest_photoget_live_framelist_photos
Write 2 · Create, change, send or run things.
send_to_phonestart_livestream
Not yet classified 2 · We could not tell from the name and description.
capture_photowait_for_photo
Files it touches
- Any path the agent passes to its tools
Tools (7)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
capture_photoStart the camera server and return a QR code for the user to scan with their phone. The server stays running for the entire session — the user only needs to scan once, then they can take photos anytime and switch between Photo and Live modes. If a phone is already connected, it will be notified that a photo is requested (the button will pulse). CRITICAL: You MUST paste the QR code directly in your response text (inside a code block) so the user can see and scan it. After showing the QR, IMMEDIATELY call wait_for_photo to receive the photo.
get_latest_photoGet a photo from the phone camera. Returns the most recent photo by default, or a specific photo by filename. Use list_photos to see available filenames. Does not wait for a new photo — use wait_for_photo for that.
get_live_frameGet the latest frame from the phone's live camera stream. Returns the most recent frame as an image with a timestamp showing how fresh it is. Use wait_seconds to delay before grabbing the frame — this gives the user time to adjust the camera after receiving guidance via send_to_phone. Combine send_to_phone + get_live_frame(wait_seconds) in a loop to guide the user hands-free.
list_photosList all captured photos with their filenames, timestamps, and file sizes. Use a filename with get_latest_photo to retrieve a specific photo.
send_to_phoneSend text, images, or rich generative UI to the connected phone display. For simple messages use text (supports markdown). For rich contextual layouts use ui_spec — generate a JSON spec with 12 component types to create interactive cards, checklists, step-by-step guides, data tables, timers, and more. The phone becomes a reference screen while the user works with both hands. Set speak:true for text-to-speech. Requires a phone to be connected via capture_photo first.
start_livestreamStart a semi-real-time video stream from the phone camera. If a phone is already connected, it switches to live mode automatically (no new QR needed). The phone streams frames every 3 seconds. Call get_live_frame to see what the camera sees, and send_to_phone to show guidance on the phone screen. CRITICAL: If showing a QR code, paste it in your response text inside a code block.
wait_for_photoWait for a photo or a user action from the phone. Blocks until something happens: a photo is uploaded, the user switches to Live mode, or timeout. The phone is fully bidirectional — the user can drive the interaction by tapping Photo or Live on their phone. If the user switches to Live mode, you should call get_live_frame to start watching. If a photo arrives, it is returned as an image. IMPORTANT: After processing the result, IMMEDIATELY call wait_for_photo AGAIN to keep listening. This creates a persistent connection where the user can keep sending photos, voice messages, or switching modes …
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 0
- Last commit
- Mar 24, 2026 (7 months ago)
- Last release
- Mar 23, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.stepankaiser/ccphoto- Version
- 0.3.1
- Auth
- No auth
- Packages
- npm ccphoto
- License
- MIT
- Repository
- github.com/stepankaiser/ccphoto
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
CCPhoto — Phone Camera Bridge MCP server. Agent Mart. https://agentmart.dev/connectors/stepankaiser-ccphoto (last updated 2026-10-24)