Remote Camera

Capture photos remotely from mobile devices via S3-backed upload URLs

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
95%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~934Tokens (tool definitions)
~3.9 KBTypical response size
Moderate attention impact (0.73% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "remote-camera": {
      "url": "https://www.ai.moda/mcp-servers/remote-camera/mcp"
    }
  }
}

Remote endpoints

https://www.ai.moda/mcp-servers/remote-camera/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡generate_upload_url(message)

Generate a URL for remote camera upload. Send this URL to a mobile device to capture and upload a photo. The capture URL can be reused multiple times to upload different photos without generating a new URL. The URL will be in format: https://www.ai.moda/mcp-servers/remote-camera/capture/?url=PRESIGNED_URL

Input Schema

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Instructions/message to display to the user on the capture page (max 200 characters)",
      "examples": [
        "Take a photo of the chip markings on the main IC",
        "Capture the PCB trace layout near the connector",
        "Show me the part number on that sensor module"
      ]
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "capture_url": {
      "type": "string",
      "format": "uri",
      "description": "Full URL to send to mobile device for photo capture",
      "examples": [
        "https://www.ai.moda/mcp-servers/remote-camera/capture/?url=https%3A%2F%2Fs3.us-east-005.backblazeb2.com%2F..."
      ]
    },
    "session_id": {
      "type": "string",
      "format": "uuid",
      "description": "Session ID used for this upload, in UUID format"
    }
  },
  "required": [
    "capture_url",
    "session_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡poll_for_upload(session_id, timeout, modified_since, not_etag)

Poll S3 bucket waiting for photo upload to complete. Returns a presigned download URL when the file is ready. The same session_id can be used to poll for new uploads multiple times, allowing the capture URL to be reused.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "format": "uuid",
      "description": "Session ID to poll for, in UUID format"
    },
    "timeout": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "default": 50,
      "description": "Max seconds to wait for upload"
    },
    "modified_since": {
      "type": "string",
      "format": "date-time",
      "description": "Only detect files modified after this date in ISO 8601 or HTTP date format",
      "examples": [
        "2026-10-26T00:00:00.000Z",
        "Tue, 20 Oct 2026 00:00:00 GMT",
        "2026-10-25T00:00:00.000Z"
      ]
    },
    "not_etag": {
      "type": "string",
      "minLength": 3,
      "maxLength": 130,
      "description": "Only detect files with different ETag than this value, used to poll for new uploads",
      "examples": [
        "d41d8cd98f00b204e9800998ecf8427e",
        "\"1a2b3c4d5e6f7g8h9i0j\"",
        "a3bb189e8bf94c5e8d7a1e5f5e5e5e5e-2"
      ]
    }
  },
  "required": [
    "session_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "download_url": {
      "type": "string",
      "format": "uri",
      "description": "Presigned GET URL to download the uploaded photo, valid for 7 days",
      "examples": [
        "https://s3.us-east-005.backblazeb2.com/bucket/remote-camera-mcp/a3bb189e-8bf9-4c5e-8d7a-1e5f5e5e5e5e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=..."
      ]
    },
    "etag": {
      "type": "string",
      "minLength": 8,
      "maxLength": 130,
      "description": "ETag of the uploaded file, can be used with not_etag parameter for subsequent polls",
      "examples": [
        "d41d8cd98f00b204e9800998ecf8427e",
        "1a2b3c4d5e6f7g8h9i0j",
        "a3bb189e8bf94c5e8d7a1e5f5e5e5e5e-2"
      ]
    },
    "last_modified": {
      "type": "string",
      "format": "date-time",
      "description": "Last modified timestamp of the uploaded file from S3"
    }
  },
  "required": [
    "download_url",
    "etag"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools