PrintYourDuck Quote
Find and submit local 3D print files for manual PrintYourDuck quote review.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWget_printyourduck_quote_requirements에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"quote": {
"command": "npx",
"args": [
"@printyourduck/mcp"
]
}
}
}실행 가능한 패키지
0.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
}커뮤니티
증거