Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,549Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:0d18c8e683d1dc59ba9700650ea020a3d14f671fec311b053bc412cc74d1d671
What it is
What a remote MCP server returned when asked what it offers: 3 tools

The blob, as servednamed by its sha256

{ "instructions": "PrintYourDuck MCP supports manual custom 3D print quote intake only. It does not\ncalculate instant prices, collect payment at upload, or provide private\noperational or business details.\n\nRecommended workflow:\n1. Call get_printyourduck_quote_requirements before preparing a submission.\n2. Upload files privately through the website upload flow before calling\n submit_quote_request. The remote MCP submit tool accepts private uploaded\n file metadata, not raw local files.\n3. For local coding-agent workflows that need disk access, use the dedicated\n printyourduck-mcp helper when it is available. This hosted endpoint does not\n scan local files.\n4. Before any submit action, confirm the customer owns or may use the design,\n the item is not restricted, the customer understands this is a manual quote,\n and the user explicitly approved the submission.\n5. Reuse the same submissionId when retrying the same user-approved submission.\n\nDo not promise instant pricing, checkout, payment collection, local production,\nCanadian-made production, delivery dates, or production start before manual\nreview and post-quote approval. Keep responses public-safe and concise.", "tools": [ { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_printyourduck_quote_requirements", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "acceptedFileTypes": { "items": { "type": "string" }, "type": "array" }, "manualQuoteOnly": { "type": "boolean" }, "marketRegions": { "items": { "type": "string" }, "type": "array" }, "materialPreferences": { "items": { "type": "string" }, "type": "array" }, "maxFileSizeBytes": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "maxFilesPerRequest": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "maxTotalFileSizeBytes": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "noPaymentAtUpload": { "type": "boolean" }, "requestTypes": { "items": { "type": "string" }, "type": "array" }, "requiredConfirmations": { "items": { "type": "string" }, "type": "array" }, "restrictions": { "items": { "type": "string" }, "type": "array" }, "uploadFlow": { "type": "string" } }, "required": [ "acceptedFileTypes", "maxFileSizeBytes", "maxFilesPerRequest", "maxTotalFileSizeBytes", "materialPreferences", "requestTypes", "marketRegions", "manualQuoteOnly", "noPaymentAtUpload", "requiredConfirmations", "restrictions", "uploadFlow" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "format": "email", "maxLength": 254, "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "quoteRequestId": { "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "quoteRequestId", "email" ], "type": "object" }, "name": "get_quote_status", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "createdAt": { "type": "string" }, "expectedQuoteTime": { "type": "string" }, "found": { "type": "boolean" }, "marketRegion": { "type": "string" }, "message": { "type": "string" }, "paymentStatus": { "type": "string" }, "quoteRequestId": { "type": "string" }, "shippedAt": { "type": "string" }, "status": { "type": "string" }, "trackingAvailable": { "type": "boolean" }, "updatedAt": { "type": "string" } }, "required": [ "found" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "city": { "maxLength": 120, "type": "string" }, "country": { "maxLength": 120, "minLength": 1, "type": "string" }, "desiredDeadline": { "maxLength": 120, "type": "string" }, "email": { "format": "email", "maxLength": 254, "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "files": { "items": { "properties": { "contentHash": { "pattern": "^[a-f0-9]{64}$", "type": "string" }, "contentType": { "maxLength": 120, "type": "string" }, "fileSizeBytes": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "fileType": { "maxLength": 40, "type": "string" }, "originalFilename": { "maxLength": 260, "minLength": 1, "type": "string" }, "storageUrlOrKey": { "maxLength": 600, "minLength": 1, "type": "string" }, "storedFilename": { "maxLength": 600, "minLength": 1, "type": "string" } }, "required": [ "originalFilename", "fileSizeBytes", "storageUrlOrKey" ], "type": "object" }, "maxItems": 5, "minItems": 1, "type": "array" }, "manualQuoteConfirmed": { "const": true, "type": "boolean" }, "materialPreference": { "enum": [ "PLA", "PETG", "TPU_FLEXIBLE", "RESIN", "NOT_SURE" ], "type": "string" }, "name": { "maxLength": 120, "minLength": 1, "type": "string" }, "notes": { "maxLength": 5000, "type": "string" }, "phone": { "maxLength": 60, "type": "string" }, "quantity": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "requestType": { "enum": [ "ONE_OFF", "SMALL_BATCH", "REPEAT_ORDER" ], "type": "string" }, "restrictedItemConfirmed": { "const": true, "type": "boolean" }, "rightsConfirmed": { "const": true, "type": "boolean" }, "submissionId": { "maxLength": 120, "minLength": 8, "pattern": "^[a-zA-Z0-9._:-]+$", "type": "string" }, "userSubmissionConfirmed": { "const": true, "type": "boolean" } }, "required": [ "submissionId", "name", "email", "country", "materialPreference", "quantity", "rightsConfirmed", "restrictedItemConfirmed", "manualQuoteConfirmed", "userSubmissionConfirmed", "files" ], "type": "object" }, "name": "submit_quote_request", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "error": { "type": "string" }, "expectedQuoteTime": { "type": "string" }, "issues": { "items": { "additionalProperties": false, "properties": { "field": { "type": "string" }, "message": { "type": "string" } }, "required": [ "field", "message" ], "type": "object" }, "type": "array" }, "message": { "type": "string" }, "ok": { "type": "boolean" }, "quoteRequestId": { "type": "string" }, "status": { "type": "string" } }, "required": [ "ok", "message" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:0d18c8e683d1dc59ba9700650ea020a3d14f671fec311b053bc412cc74d1d671 | sha256sum