PrintYourDuck Quote

Find and submit local 3D print files for manual PrintYourDuck quote review.

사용해야 할까요

품질 및 안전성

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

발견 사항 (1)

  • LOWTool 'get_printyourduck_quote_requirements' name length outside 3-30 rangeget_printyourduck_quote_requirements에서

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

컨텍스트 비용

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

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "quote": {
      "command": "npx",
      "args": [
        "@printyourduck/mcp"
      ]
    }
  }
}

실행 가능한 패키지

npm@printyourduck/mcp0.1.1stdio

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (3)

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

Read public requirements for a PrintYourDuck manual custom 3D printing quote request. Use this before submit_quote_request to check accepted file types, material options, confirmations, restrictions, and the private-upload flow. Does not calculate instant pricing.

입력 스키마

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

출력 스키마

{
  "type": "object",
  "properties": {
    "acceptedFileTypes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "maxFileSizeBytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "maxFilesPerRequest": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "maxTotalFileSizeBytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "materialPreferences": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "requestTypes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "marketRegions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "manualQuoteOnly": {
      "type": "boolean"
    },
    "noPaymentAtUpload": {
      "type": "boolean"
    },
    "requiredConfirmations": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "restrictions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "uploadFlow": {
      "type": "string"
    }
  },
  "required": [
    "acceptedFileTypes",
    "maxFileSizeBytes",
    "maxFilesPerRequest",
    "maxTotalFileSizeBytes",
    "materialPreferences",
    "requestTypes",
    "marketRegions",
    "manualQuoteOnly",
    "noPaymentAtUpload",
    "requiredConfirmations",
    "restrictions",
    "uploadFlow"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡submit_quote_request(submissionId, name, email, phone, city, ...)

Submit customer contact details and private uploaded file metadata for manual PrintYourDuck quote review. Alias intents: request a 3D print quote, send uploaded file for quote, submit manual quote request. Requires explicit confirmations and a stable submissionId for retries. No payment is collected and no instant price is returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "submissionId": {
      "type": "string",
      "minLength": 8,
      "maxLength": 120,
      "pattern": "^[a-zA-Z0-9._:-]+$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "email": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string",
      "maxLength": 60
    },
    "city": {
      "type": "string",
      "maxLength": 120
    },
    "country": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "materialPreference": {
      "type": "string",
      "enum": [
        "PLA",
        "PETG",
        "TPU_FLEXIBLE",
        "RESIN",
        "NOT_SURE"
      ]
    },
    "requestType": {
      "type": "string",
      "enum": [
        "ONE_OFF",
        "SMALL_BATCH",
        "REPEAT_ORDER"
      ]
    },
    "quantity": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "desiredDeadline": {
      "type": "string",
      "maxLength": 120
    },
    "notes": {
      "type": "string",
      "maxLength": 5000
    },
    "rightsConfirmed": {
      "type": "boolean",
      "const": true
    },
    "restrictedItemConfirmed": {
      "type": "boolean",
      "const": true
    },
    "manualQuoteConfirmed": {
      "type": "boolean",
      "const": true
    },
    "userSubmissionConfirmed": {
      "type": "boolean",
      "const": true
    },
    "files": {
      "minItems": 1,
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "originalFilename": {
            "type": "string",
            "minLength": 1,
            "maxLength": 260
          },
          "storedFilename": {
            "type": "string",
            "minLength": 1,
            "maxLength": 600
          },
          "fileType": {
            "type": "string",
            "maxLength": 40
          },
          "fileSizeBytes": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "storageUrlOrKey": {
            "type": "string",
            "minLength": 1,
            "maxLength": 600
          },
          "contentType": {
            "type": "string",
            "maxLength": 120
          },
          "contentHash": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "required": [
          "originalFilename",
          "fileSizeBytes",
          "storageUrlOrKey"
        ]
      }
    }
  },
  "required": [
    "submissionId",
    "name",
    "email",
    "country",
    "materialPreference",
    "quantity",
    "rightsConfirmed",
    "restrictedItemConfirmed",
    "manualQuoteConfirmed",
    "userSubmissionConfirmed",
    "files"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "quoteRequestId": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "expectedQuoteTime": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "issues": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "message"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "ok",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_quote_status(quoteRequestId, email)

Look up public-safe quote status using the quote request ID and matching customer email. Alias intents: check quote status, check manual review status, check payment-link availability. Does not expose private file keys, payment URLs, or sensitive operational details.

입력 스키마

{
  "type": "object",
  "properties": {
    "quoteRequestId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "email": {
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    }
  },
  "required": [
    "quoteRequestId",
    "email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "quoteRequestId": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "marketRegion": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "expectedQuoteTime": {
      "type": "string"
    },
    "paymentStatus": {
      "type": "string"
    },
    "shippedAt": {
      "type": "string"
    },
    "trackingAvailable": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "found"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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