PrintYourDuck Quote

com.printyourduck由 printyourduck.com 發布官方發布者v0.1.1更新於 Nov 2, 2026

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

已驗證Streamable HTTP可網頁執行開發者工具商業與電商

概覽

AI 產生的概覽

把本機 3D 列印檔案送交 PrintYourDuck 人工報價審核,並讓助理查詢報價狀態。

可以做什麼
  • 讀取公開的報價需求:可接受的檔案類型、材料選項、必要確認事項與限制
  • 提交報價請求,包含客戶聯絡資料與已上傳檔案的詮釋資料,並以穩定的提交 ID 支援重試
  • 以報價請求 ID 與相符的客戶電子郵件查詢公開安全的報價狀態
  • 注意:README 另描述了本機檔案尋找與上傳工具,但未列在已發布的工具清單中
適用情境
適合使用者在程式開發或 CAD 流程中產生本機 STL、STEP、3MF、OBJ 或 ZIP 檔案,想請助理協助準備並送出人工 3D 列印報價請求,之後再查看審核狀態。
執行需求
使用 printyourduck.com 的遠端端點,或透過 npx 執行本機 npm 套件(需要 Node.js)。不需 API 金鑰或商店設定。除非設定 PRINTYOURDUCK_MCP_ALLOWED_ROOTS,本機檔案存取僅限目前工作目錄。
安裝前請注意
送出報價請求會把客戶聯絡資料傳給 PrintYourDuck 並上傳私有檔案,產生真實請求;重試時請沿用提交 ID 以免重複。不收取付款,也不提供即時定價。專案共用的用戶端設定會讓開啟該專案的所有人看到這些工具。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 PrintYourDuck Quote,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.printyourduck%2Fquote/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "printyourduck-quote": {
      "type": "http",
      "url": "https://printyourduck.com/api/mcp"
    }
  }
}

README

PrintYourDuck MCP

[CI] [Security] [MCP] [Node.js >=20] [License: MIT]

MCP server for sending local 3D print files to PrintYourDuck manual quote review. It is built for coding-agent workflows where the user has generated or selected a local .stl, .step, .stp, .3mf, .obj, or .zip file and wants help preparing a quote request.

The server is preconfigured for https://printyourduck.com. Users do not need to supply an API URL, API key, or shop routing configuration.

Status

SurfaceStatus
Remote MCPLive at https://printyourduck.com/api/mcp
Local stdio packageAvailable via npm as @printyourduck/mcp
npm packagePublic: @printyourduck/mcp
OCI imageRelease target: ghcr.io/printyourduck/printyourduck-mcp:<version>
MCP RegistryLive as com.printyourduck/quote

npx is the primary install path today. Use Docker only after verifying the GHCR image is publicly pullable for the target version.

Why This Exists

3D-print quote workflows are easy to get wrong when a user is coming from code, CAD generation, or rapid prototyping. This MCP server gives agents a narrow, auditable workflow:

  1. Read the public quote requirements.
  2. Find recent printable files in the current project.
  3. Ask the user to choose one file and confirm the required safety statements.
  4. Upload that file through PrintYourDuck's private upload flow.
  5. Submit the manual quote request.
  6. Check public-safe quote status by quote ID and customer email.

It does not calculate instant pricing, collect payment at upload, automate checkout, or expose private operational details.

Install

Use this now:

bash
npx -y @printyourduck/mcp

For team-shared or reproducible client configs, pin a package version:

bash
npx -y @printyourduck/mcp@<version>

Client Setup

MCP client configuration files are not identical across clients. Use the shape expected by your client, then restart or refresh that client so it reloads the server.

Claude Code, local user setup:

bash
claude mcp add --transport stdio printyourduck -- npx -y @printyourduck/mcp

Claude Code, project-shared .mcp.json:

json
{  "mcpServers": {    "printyourduck": {      "command": "npx",      "args": ["-y", "@printyourduck/mcp"]    }  }}

Use project-shared .mcp.json only when a repository should intentionally offer PrintYourDuck tools to everyone opening that project. Claude Code prompts for approval before using project-scoped MCP servers.

VS Code workspace setup in .vscode/mcp.json:

json
{  "servers": {    "printyourduck": {      "command": "npx",      "args": ["-y", "@printyourduck/mcp"]    }  }}

Clients that use the common mcpServers shape can use the Claude Code project snippet above.

Test the local server with MCP Inspector:

bash
npx -y @modelcontextprotocol/inspector npx -y @printyourduck/mcp

Docker, after verifying the GHCR image is public:

bash
docker run --rm -i ghcr.io/printyourduck/printyourduck-mcp:<version>

Remote-capable MCP clients can connect today:

text
https://printyourduck.com/api/mcp

Claude Code remote HTTP setup:

bash
claude mcp add --transport http printyourduck https://printyourduck.com/api/mcp

Tools

ToolPurposeNetwork/File Access
get_printyourduck_quote_requirementsReturns accepted file types, material choices, required confirmations, and safety boundaries.No local file access. No network.
find_recent_printable_filesFinds recent printable files under an allowed local project directory.Read-only local file metadata.
submit_local_file_for_quoteUploads one user-approved local file and creates a manual quote request.Reads one allowed local file, uploads privately, then submits to PrintYourDuck.
get_quote_statusLooks up public-safe quote status with quote ID and matching email.Network request to PrintYourDuck only.

Local file discovery and upload are limited to the current working directory by default. Set PRINTYOURDUCK_MCP_ALLOWED_ROOTS to a path-delimited allowlist when the MCP client should access additional project directories.

submit_local_file_for_quote derives a stable submissionId from the selected file and quote details unless the caller provides one. Reuse that ID on retry to avoid duplicate manual quote requests. The helper also caches the uploaded private file key locally by submissionId and file hash so retries can reuse the same uploaded file reference when the upload service returns a generated Blob key.

Guardrails

This server preserves the PrintYourDuck manual-quote boundary:

  • no instant pricing today;
  • no payment at upload;
  • no checkout automation;
  • no local-production, Canadian-made-production, or guaranteed-delivery claims;
  • no supplier locations, fulfilment routes, carrier strategy, supplier costs, margin logic, private file references, or customer data in public responses.

Price ranges or instant estimates are a valid future capability only when they are explicitly scoped, tested, publicly documented, and clearly separated from checkout or payment collection.

Development

bash
pnpm installpnpm check:release

Useful checks:

bash
pnpm check          # lint, tests, typecheckpnpm check:security # audit, gitleaks, trufflehogpnpm check:mcp      # stdio initialize, tool list, fixture discovery, path guardpnpm check:pack     # npm tarball allowlist

pnpm check:mcp builds the server, starts it over stdio, verifies initialize and tool metadata, creates a temporary .stl fixture, verifies local discovery, and verifies files outside allowed roots are rejected before upload.

Run the live production smoke only when you intentionally want to create a real quote request:

bash
PRINTYOURDUCK_MCP_LIVE_SMOKE=1 \[email protected] \pnpm smoke:live

The live smoke uploads a tiny fixture through https://printyourduck.com, submits one manual quote request, and verifies get_quote_status returns.

Release Checklist

Only claim npm local-helper installability after all of these pass:

bash
pnpm check:releasenpm view @printyourduck/mcp versionVERSION="$(npm view @printyourduck/mcp version)"gh release view "mcp-v${VERSION}"PRINTYOURDUCK_MCP_LIVE_SMOKE=1 [email protected] pnpm smoke:live

Release npm package changes from this dedicated MCP repository, not from the website repository.

For each tagged release, verify the npm package was published from the tagged commit:

bash
VERSION="$(node -p "require('./package.json').version")"test "$(npm view "@printyourduck/mcp@${VERSION}" gitHead)" = "$(git rev-parse HEAD)"npm view "@printyourduck/mcp@${VERSION}" dist.tarball dist.integrity

The MCP Registry name is com.printyourduck/quote, so publication uses domain-based HTTP authentication for printyourduck.com. Serve the public v=MCPv1; ... record from https://printyourduck.com/.well-known/mcp-registry-auth and keep the matching private key only in the MCP_REGISTRY_PRIVATE_KEY GitHub Actions secret for this repository.

Only claim MCP Registry publication after this passes:

bash
curl -f "https://registry.modelcontextprotocol.io/v0/servers/com.printyourduck%2Fquote/versions"

Before tagging a release, make the GHCR package public in GitHub's package settings. The release workflow fails before publishing npm if ghcr.io/printyourduck/printyourduck-mcp is still private, because the public release must be anonymously pullable.

Only claim OCI/container installability after making package visibility public and running:

bash
VERSION="$(node -p "require('./package.json').version")"DOCKER_CONFIG="$(mktemp -d)" docker manifest inspect "ghcr.io/printyourduck/printyourduck-mcp:${VERSION}"

Contributing

See CONTRIBUTING.md. Good first areas include client setup docs, path-safety hardening, MCP metadata safety, package release checks, and public-safe examples.

For security issues, see SECURITY.md. Do not include secrets, customer files, private file references, supplier/cost/margin details, or dashboard screenshots in public issues.

來源:README.md,提交 10a3906

工具

3

get_printyourduck_quote_requirements

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.

無需輸入參數。

submit_quote_request

Submit PrintYourDuck Quote Request

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.

輸入參數cityname必填email必填files必填notesphonecountry必填quantity必填requestTypesubmissionId必填desiredDeadlinerightsConfirmed必填另有 4 個

get_quote_status

Get PrintYourDuck Quote Status

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.

輸入參數email必填quoteRequestId必填

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分