Foca Upscaler

Upscale images from HTTPS URLs with account credits and retrieve async results.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
77%
이름 품질
93%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,848토큰 (도구 정의)
~4.8 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.44%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "upscaler": {
      "url": "https://focaupscaler.com/api/mcp"
    }
  }
}

원격 엔드포인트

https://focaupscaler.com/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (3)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_upscale_info

Check top-level balance and can_create_tasks, available output tiers, prices, and input limits before creating paid tasks.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "engine": {
          "type": "string",
          "const": "physics"
        },
        "balance": {
          "type": "number"
        },
        "can_create_tasks": {
          "type": "boolean"
        },
        "tiers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "resolution_tier": {
                "type": "number",
                "enum": [
                  2,
                  4,
                  8,
                  16
                ]
              },
              "credits": {
                "type": "number"
              },
              "available": {
                "type": "boolean"
              }
            },
            "required": [
              "resolution_tier",
              "credits",
              "available"
            ],
            "additionalProperties": false
          }
        },
        "max_file_size_bytes": {
          "type": "number"
        },
        "formats": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "engine",
        "balance",
        "can_create_tasks",
        "tiers",
        "max_file_size_bytes",
        "formats"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "code",
            "message"
          ],
          "additionalProperties": {}
        }
      },
      "required": [
        "error"
      ],
      "additionalProperties": false
    }
  ],
  "additionalProperties": {}
}
🟡upscale_image(image_url, resolution_tier, idempotency_key)

Create a paid asynchronous task from an HTTPS image URL using the physics engine. Requires an active paid subscription or a previously successful credit-pack purchase, sufficient credits, and tier access under the account's plan. The 2K/4K/8K/16K tiers cost 15/30/60/120 credits. Retry the same request with the same idempotency_key, image URL, and resolution_tier.

입력 스키마

{
  "type": "object",
  "properties": {
    "image_url": {
      "description": "Publicly retrievable HTTPS image URL.",
      "type": "string",
      "format": "uri"
    },
    "resolution_tier": {
      "description": "Output tier: 2, 4, 8, or 16. Defaults to 2.",
      "default": 2,
      "type": "number",
      "enum": [
        2,
        4,
        8,
        16
      ]
    },
    "idempotency_key": {
      "description": "A 1–128 character key. Preserve it when retrying the same image URL and tier. Idempotency records are retained for at least 30 days; after retention expires, reusing an old key may create a new task and charge credits again.",
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    }
  },
  "required": [
    "image_url",
    "idempotency_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "task_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
        },
        "status": {
          "type": "string",
          "enum": [
            "pending",
            "processing",
            "succeeded",
            "failed"
          ]
        },
        "credits_charged": {
          "type": "number"
        },
        "credits_remaining": {
          "type": "number"
        },
        "resolution_tier": {
          "type": "number",
          "enum": [
            2,
            4,
            8,
            16
          ]
        },
        "download_url": {
          "type": "string",
          "pattern": "^https:\\/\\/"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "error_code": {
          "type": "string"
        }
      },
      "required": [
        "task_id",
        "status",
        "credits_charged",
        "credits_remaining",
        "resolution_tier"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "code",
            "message"
          ],
          "additionalProperties": {}
        }
      },
      "required": [
        "error"
      ],
      "additionalProperties": false
    }
  ],
  "additionalProperties": {}
}
🟢get_upscale_task(task_id)

Read an account-owned task in pending, processing, succeeded, or failed state with top-level credits_remaining. Repeat this tool call about every 5 seconds until the task reaches succeeded or failed; each call reads the stored database state without polling the image provider. A successful result includes a temporary download_url and expires_at.

입력 스키마

{
  "type": "object",
  "properties": {
    "task_id": {
      "description": "The UUID returned when creating an upscaling task.",
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "task_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
        },
        "status": {
          "type": "string",
          "enum": [
            "pending",
            "processing",
            "succeeded",
            "failed"
          ]
        },
        "credits_charged": {
          "type": "number"
        },
        "credits_remaining": {
          "type": "number"
        },
        "resolution_tier": {
          "type": "number",
          "enum": [
            2,
            4,
            8,
            16
          ]
        },
        "download_url": {
          "type": "string",
          "pattern": "^https:\\/\\/"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "error_code": {
          "type": "string"
        }
      },
      "required": [
        "task_id",
        "status",
        "credits_charged",
        "credits_remaining",
        "resolution_tier"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "code",
            "message"
          ],
          "additionalProperties": {}
        }
      },
      "required": [
        "error"
      ],
      "additionalProperties": false
    }
  ],
  "additionalProperties": {}
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 3개