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-09-25T00:00:00.000Z",
        "Sat, 19 Sep 2026 00:00:00 GMT",
        "2026-09-24T00: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