# LetItSee.com camera MCP server

## What LetItSee.com does

LetItSee.com is a remote Model Context Protocol (MCP) server that gives an AI assistant a new photo from the user's phone camera, laptop webcam, or compatible USB camera. The assistant interprets the image; LetItSee.com supplies the photo, not its own OCR or object-recognition model.

Use it when a user wants to show an everyday object, read or translate a visible label, identify a cable or connector, describe a scene, or discuss an assembly step. If an image is already uploaded or captured, reuse that image. A general question, ambiguous reference, or connected camera alone does not authorize a new photo.

## Connection and requirements

MCP endpoint: https://letitsee.com/mcp. Transport: Streamable HTTP. Authentication: OAuth with interactive sign-in and consent through WorkOS. Use your client's remote MCP connection flow and automatic OAuth discovery. This is an MCP endpoint, not a REST photo URL; a normal unauthenticated GET is not a health check.

Your AI client must support remote MCP, OAuth, and native image results. Visual interpretation also requires a vision-capable assistant. MCP Apps can show an optional connection card; the tools also work without that card. Availability in a voice conversation depends on the client and session. No universal client or voice compatibility is promised.

Use a browser with camera permissions over HTTPS. Phones can switch front/back cameras; desktop browsers can select a webcam or USB camera. A USB microscope must expose a standard webcam feed recognized by the browser. No camera app installation is required.

## Connect and request one photo

1. Add https://letitsee.com/mcp as a remote Streamable HTTP MCP server, choose OAuth, and complete sign-in and consent. Passwords and sign-in codes belong in the sign-in page, never in chat or tool arguments.
2. Call connect_camera with {} and show the returned clickable https://letitsee.com/live link and native PNG QR image. The link is reusable and contains no credentials. Merely showing it does not activate or replace a camera.
3. The user opens the link on the camera device, signs in with the same account used for MCP, allows camera access, and keeps the page visible. Opening a new camera page replaces the active page for that account. Other accounts have separate cameras.
4. Call camera_status with {}. A true connected value means the active page reported a usable camera, not that you have seen a photo. Wait for the user to finish setup if it is false.
5. When the user requests a fresh view, call capture with {} once and use its native JPEG image. Keep the original result for analysis and display retries.

## Tool reference

The three camera tools accept an empty JSON object {} and no session ID. The separate feedback tool accepts a message. Discover the authoritative tool definitions with MCP tools/list after authentication.

connect_camera {} returns structuredContent with url, connected, and requires_user_action, plus text and one native image/png QR block. It reads connection status without activating a device or taking a photo. It is read-only and idempotent.

camera_status {} returns structuredContent {"connected":true|false} and explanatory text. It does not take a photo or change the active camera. It is read-only and idempotent.

capture {} requests and uploads one fresh photo. Each call takes another photo, so it is neither read-only nor idempotent. Success contains exactly one native image/jpeg block in content, with no text, outputSchema, or structuredContent. Failures return isError: true and explanatory text.

submit_feedback {"message":"Preview freezes after flipping the camera."} logs a user-requested problem report or suggestion, up to 4,000 characters, with the signed-in account name and email obtained from WorkOS. Tell the user which information is sent; ask first if they have not requested submission. Omit photos, secrets, and unrelated conversation history. No camera connection is required. Success returns status "logged" and a short report_id; it does not send email. Do not resubmit after success. This tool is neither read-only nor idempotent and does not take a photo.

The MCP server uses POST responses without a persistent SSE session. Let the MCP client handle initialization, protocol negotiation, OAuth metadata, and token refresh.

## Image delivery and retries

Raw MCP image results use content: [{"type":"image","mimeType":"image/jpeg","data":"<base64 JPEG>"}]. Some client adapters expose this array as content_items instead. Preserve the original result and forward its native image block to the client image renderer. Do not print Base64 or invent an image URL.

A parsing or rendering failure must never trigger another capture. Retry displaying the original result. A successful tool call does not prove the user saw the image. If the original result is lost, explain that no saved-photo retrieval exists and ask the user before taking a replacement photo.

Photos retain the full camera frame, scaled to at most 1280 pixels on the longest edge at JPEG quality 0.85. The server rejects uploads above 5 MiB; pending captures time out after 20 seconds. Do not start a capture polling loop.

## Reconnect and stop

If camera_status is false, check the same account is used on both devices, camera permission is allowed, and the page is open and visible. Mobile background tabs and locked phones can suspend the camera. The user taps Reconnect after a disconnection or another page taking over. Reopening or reloading the camera page can replace the current page.

One active camera page is shared by all MCP clients authorized as the same user. Use Stop, close the page, or sign out to stop the browser camera. Browser sign-out and MCP authorization are independent; disconnect the integration in the AI client to withdraw its access. Never silently retry a capture after an uncertain delivery.

## Privacy, limits, and operator

No continuous video, microphone recording, screen capture, background monitoring, remote device control, or stored photo retrieval is available. The video preview stays on the device. Only requested JPEGs are uploaded, handled temporarily in memory, and returned to the requesting client. The application does not persist photos in a database, object store, or application log. The AI provider may retain delivered images under its own policies.

Do not use this service for medical, safety, or emergency decisions, covert surveillance, or photographing sensitive identification, payment information, or credentials. Image interpretation can be incomplete or wrong.

LetItSee.com is operated by Datacomb Solutions Inc., Ontario, Canada. Contact support@letitsee.com for setup help, privacy requests, account deletion, or security reports. Any future paid offering will disclose its price and terms before a charge; your AI provider's requirements and charges apply separately.

## References

- [MCP server metadata](https://letitsee.com/server.json)
- [Privacy policy](https://letitsee.com/privacy)
- [Terms of use](https://letitsee.com/terms)
- [Support](https://letitsee.com/support)
