PrintYourDuck Quote について
PrintYourDuck Quoteは、ローカルの3Dプリント用ファイルを準備し、手動見積もり審査に提出するMCPサーバーです。コーディングエージェントのワークフローに対応し、価格算出や購入手続きは扱いません。
主な機能
- 01公開されている見積もり要件の取得
- 02プロジェクト内の最近の印刷可能ファイルの検索
- 03ユーザー承認済みファイルのアップロード
- 04手動見積もり依頼の送信
- 05見積もり状況の確認
活用シーン
- 01生成した3Dモデルの見積もり依頼
- 02プロジェクト内の印刷可能ファイルの検索
- 03送信済み見積もりの状況確認
MCP 対応
見積もり要件、ローカルファイルの検索、非公開アップロードと見積もり依頼、公開可能な状況照会のツールをMCPクライアントに提供します。リモートMCPエンドポイントとローカルstdioパッケージがあります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://printyourduck.com/api/mcpclaude mcp add --transport http com-printyourduck-quote https://printyourduck.com/api/mcp{"mcpServers":{"com-printyourduck-quote":{"type":"http","url":"https://printyourduck.com/api/mcp"}}}Cursor で開く{"servers":{"com-printyourduck-quote":{"type":"http","url":"https://printyourduck.com/api/mcp"}}}VS Code で開く{"mcpServers":{"com-printyourduck-quote":{"type":"http","url":"https://printyourduck.com/api/mcp"}}}{"mcpServers":{"com-printyourduck-quote":{"serverUrl":"https://printyourduck.com/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
3このツールにパラメーターはありません。
詳細
PrintYourDuck MCP
ローカルの3DプリントファイルをPrintYourDuckの手動見積もりレビューに送信するMCP サーバーです。ユーザーがローカルの .stl、.step、.stp、.3mf、.obj、または .zip ファイルを生成または選択し、見積もり依頼の準備を支援してほしい場合の、コーディングエージェントのワークフロー向けに構築されています。
このサーバーは https://printyourduck.com 用に事前設定されています。ユーザーがAPI URL、APIキー、ショップのルーティング設定を指定する必要はありません。
ステータス
| 項目 | ステータス |
|---|---|
| リモートMCP | https://printyourduck.com/api/mcp で稼働中 |
| ローカルstdioパッケージ | npmで @printyourduck/mcp として利用可能 |
| npmパッケージ | 公開中:@printyourduck/mcp |
| OCIイメージ | リリース対象:ghcr.io/printyourduck/printyourduck-mcp:<version> |
| MCP Registry | com.printyourduck/quote として稼働中 |
現在、主なインストール方法は npx です。Dockerを使うのは、対象バージョンのGHCRイメージを公開状態で取得できることを確認してからにしてください。
このツールの目的
ユーザーがコード、CAD生成、またはラピッドプロトタイピングから作業を始める場合、3Dプリントの見積もりワークフローは間違いやすいものです。このMCP サーバーは、エージェントに次のような範囲を限定した、監査可能なワークフローを提供します。
- 公開されている見積もり要件を読み取ります。
- 現在のプロジェクト内で、最近のプリント可能なファイルを探します。
- ファイルを1つ選び、必要な安全に関する申告事項を確認するようユーザーに求めます。
- PrintYourDuckの非公開アップロードフローを通じて、そのファイルをアップロードします。
- 手動の見積もり依頼を送信します。
- 見積もりIDと顧客のメールアドレスを使って、公開しても問題のない見積もりステータスを確認します。
即時価格の計算、アップロード時の支払い受付、チェックアウトの自動化、非公開の業務情報の公開は行いません。
インストール
今すぐ使う場合:
npx -y @printyourduck/mcp
チームで共有する設定や再現可能なクライアント設定には、パッケージのバージョンを固定してください。
npx -y @printyourduck/mcp@<version>
クライアントの設定
MCPクライアントの設定ファイルは、クライアントによって形式が異なります。使用するクライアントが想定する形式を使い、その後クライアントを再起動するか更新して、サーバーを再読み込みしてください。
Claude Codeのローカルユーザー設定:
claude mcp add --transport stdio printyourduck -- npx -y @printyourduck/mcp
Claude Codeのプロジェクト共有 .mcp.json:
{
"mcpServers": {
"printyourduck": {
"command": "npx",
"args": ["-y", "@printyourduck/mcp"]
}
}
}
プロジェクトで開くすべてのユーザーにPrintYourDuckのツールを意図的に提供する場合に限り、プロジェクト共有 .mcp.json を使用してください。Claude Codeでは、プロジェクト単位のMCPサーバーを使用する前に承認を求められます。
.vscode/mcp.json でのVS Codeワークスペース設定:
{
"servers": {
"printyourduck": {
"command": "npx",
"args": ["-y", "@printyourduck/mcp"]
}
}
}
共通の mcpServers 形式を使うクライアントでは、上記のClaude Code用プロジェクト設定スニペットを使用できます。
MCP Inspectorでローカルサーバーをテストする場合:
npx -y @modelcontextprotocol/inspector npx -y @printyourduck/mcp
GHCRイメージが公開されていることを確認した後のDocker設定:
docker run --rm -i ghcr.io/printyourduck/printyourduck-mcp:<version>
リモート接続に対応したMCPクライアントは、現在次のように接続できます。
https://printyourduck.com/api/mcp
Claude CodeのリモートHTTP設定:
claude mcp add --transport http printyourduck https://printyourduck.com/api/mcp
ツール
| ツール | 目的 | ネットワーク/ファイルアクセス |
|---|---|---|
get_printyourduck_quote_requirements | 受け付け可能なファイル形式、素材の選択肢、必要な確認事項、安全上の境界を返します。 | ローカルファイルへのアクセスなし。ネットワークアクセスなし。 |
find_recent_printable_files | 許可されたローカルプロジェクトディレクトリ内で、最近の印刷可能なファイルを検索します。 | ローカルファイルのメタデータへの読み取り専用アクセス。 |
submit_local_file_for_quote | ユーザーが承認したローカルファイルを1つアップロードし、手動見積もり依頼を作成します。 | 許可されたローカルファイルを1つ読み取り、非公開でアップロードした後、PrintYourDuckに送信します。 |
get_quote_status | 見積もりIDと一致するメールアドレスを使って、公開しても安全な見積もり状況を検索します。 | PrintYourDuckへのネットワークリクエストのみ。 |
ローカルファイルの検索とアップロードは、デフォルトで現在の作業ディレクトリに限定されます。MCP クライアントが追加のプロジェクトディレクトリにアクセスする必要がある場合は、パス区切りの許可リストを PRINTYOURDUCK_MCP_ALLOWED_ROOTS に設定してください。
submit_local_file_for_quote は、呼び出し元が指定しない限り、選択したファイルと見積もりの詳細から安定した submissionId を生成します。手動見積もり依頼の重複を避けるため、再試行時には同じIDを再利用してください。このヘルパーは、アップロードサービスから生成された Blob キーが返された場合に、再試行で同じアップロード済みファイルの参照を再利用できるよう、アップロードした非公開ファイルキーを submissionId とファイルハッシュに基づいてローカルにキャッシュします。
ガードレール
このサーバーは、PrintYourDuckの手動見積もりの境界を維持します。
- 現時点では即時の価格提示はありません。
- アップロード時の支払いはありません。
- チェックアウトの自動化はありません。
- 国内生産、カナダ製の生産、または納期保証を謳うことはありません。
- サプライヤーの所在地、フルフィルメント経路、配送業者の戦略、サプライヤーのコスト、利益率の計算方法、非公開のファイル参照、顧客データを公開レスポンスに含めることはありません。
価格帯や即時見積もりは、明確に範囲を定め、テストと公開ドキュメントを整備したうえで、チェックアウトや支払いの受付と明確に分離した場合に限り、将来的に有効な機能となります。
開発
pnpm install
pnpm check:release
便利なチェック項目:
pnpm check # lint, tests, typecheck
pnpm check:security # audit, gitleaks, trufflehog
pnpm check:mcp # stdio initialize, tool list, fixture discovery, path guard
pnpm check:pack # npm tarball allowlist
pnpm check:mcp はサーバーをビルドし、stdio 経由で起動して、初期化とツールのメタデータを検証します。また、一時的な .stl フィクスチャを作成してローカル検索を検証し、許可されたルート外のファイルがアップロード前に拒否されることも検証します。
実際の見積もり依頼を作成する場合に限り、本番環境のライブスモークテストを実行してください。
PRINTYOURDUCK_MCP_LIVE_SMOKE=1 \
[email protected] \
pnpm smoke:live
ライブスモークテストでは、小さなフィクスチャを https://printyourduck.com 経由でアップロードし、手動見積もり依頼を1件送信して、get_quote_status がレスポンスを返すことを検証します。
リリースチェックリスト
以下のすべてに合格した場合に限り、npm のローカルヘルパーをインストール可能と謳ってください。
pnpm check:release
npm view @printyourduck/mcp version
VERSION="$(npm view @printyourduck/mcp version)"
gh release view "mcp-v${VERSION}"
PRINTYOURDUCK_MCP_LIVE_SMOKE=1 [email protected] pnpm smoke:live
npm パッケージの変更は、ウェブサイトのリポジトリではなく、この専用 MCP リポジトリからリリースしてください。
タグ付きリリースごとに、npm パッケージがタグ付きコミットから公開されたことを確認してください。
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
MCP Registry の名前は com.printyourduck/quote であるため、公開には printyourduck.com のドメインベース HTTP 認証を使用します。公開の v=MCPv1; ... レコードを https://printyourduck.com/.well-known/mcp-registry-auth から提供し、対応する秘密鍵はこのリポジトリの MCP_REGISTRY_PRIVATE_KEY GitHub Actions シークレットのみに保管してください。
以下に合格した場合に限り、MCP Registry への公開を謳ってください。
curl -f "https://registry.modelcontextprotocol.io/v0/servers/com.printyourduck%2Fquote/versions"
リリースにタグを付ける前に、GitHub のパッケージ設定で GHCR パッケージを公開にしてください。ghcr.io/printyourduck/printyourduck-mcp が非公開のままの場合、公開リリースは匿名でプルできる必要があるため、リリースワークフローは npm への公開前に失敗します。
パッケージの公開設定を変更して次を実行した場合に限り、OCI/コンテナでインストール可能と謳ってください。
VERSION="$(node -p "require('./package.json').version")"
DOCKER_CONFIG="$(mktemp -d)" docker manifest inspect "ghcr.io/printyourduck/printyourduck-mcp:${VERSION}"
コントリビューション
CONTRIBUTING.md を参照してください。最初に取り組みやすい分野として、クライアントのセットアップドキュメント、パス安全性の強化、MCP メタデータの安全性、パッケージリリースのチェック、公開しても安全なサンプルなどがあります。
セキュリティ上の問題については、SECURITY.md を参照してください。公開の issue には、シークレット、顧客ファイル、非公開のファイル参照、サプライヤー/コスト/利益率の詳細、ダッシュボードのスクリーンショットを含めないでください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。