You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The McMaster-Carr integration is currently human-only. A user can open the catalog, search, download 3-D CAD, and let VibeCAD import it, but the AI cannot perform the equivalent workflow. Even when the user's request identifies the needed hardware, a human must leave the conversation, drive the catalog UI, choose a part, and initiate the download.
This prevents workflows such as:
Find a zinc-plated 1/4-20 low-profile socket-head screw, 1.5 inches long, show me the matching McMaster choices, and insert the one I select.
The existing implementation already provides useful local infrastructure: persistent authenticated browser profiles, per-session download inboxes, CAD caching, part-number metadata, and import into PartDesign::Component. The missing layer is a safe, structured, AI-callable catalog workflow.
User-visible outcome
VibeCAD's AI can search McMaster-Carr, return a bounded set of relevant candidates, resolve an exact catalog part, retrieve its supported 3-D CAD, and insert it into the active document without requiring the user to manually operate the catalog.
The human Catalog and Import commands must remain available and behaviorally unchanged.
Proposed capability surface
Add an additive McMaster tool surface with separate read and mutation operations. Exact names can follow the repository's Native capability conventions, but the responsibilities should remain distinct:
Search: accept free text and structured filters; return a bounded candidate list containing part number, catalog description, relevant dimensions/specifications, CAD availability, and the canonical product URL.
Inspect: resolve one exact part number and return its normalized specifications and available CAD formats.
Insert: download or reuse cached CAD for one exact part number, validate the artifact, import it through the existing McMaster import path, and return the created document-object identities.
Status/cancel: expose progress for browser navigation, authentication, download, validation, and import without blocking the GUI thread.
Search must not silently choose among materially different candidates. When the request is ambiguous, the AI should present the narrowed choices and ask the user which exact part to insert.
Authentication and security
Reuse the existing local McMaster browser profile so a user's authenticated session survives restarts and upgrades.
Never expose cookies, credentials, browser storage, or authentication tokens to the model or provider transcript.
If interactive login, MFA, consent, or a challenge is required, pause with an actionable status and allow the user to complete it in the existing catalog window before resuming.
Do not invent or depend on a private/unsupported McMaster API. Use a documented supported interface when one is available; otherwise use the existing browser-mediated session and document its compatibility/failure behavior.
Do not add ordering, purchasing, cart mutation, or account-management capabilities as part of this issue.
Correctness and lifecycle requirements
Run catalog navigation, search extraction, and downloads off the GUI thread with visible status-bar progress and cancellation.
Keep returned search data bounded and schema-validated so large catalog pages cannot overflow the Native state or provider context.
Bind every insert to one exact part number and one validated downloaded artifact.
Reuse the existing cache when the exact part and artifact are already present; do not create duplicate downloads or duplicate document objects after a retry unless the user explicitly requests another instance.
Preserve McMaster part number, description, source URL, and artifact identity on the imported component.
Use a per-operation inbox and clean temporary files after success, cancellation, or failure while retaining valid cached CAD.
Keep behavior additive and compatible across Windows, macOS, and Linux backends. A backend that cannot support autonomous search must report that capability clearly and retain the human workflow.
Acceptance criteria
The AI can search by natural-language description, exact part number, and supported structured filters.
Search returns a bounded, deterministic, schema-validated candidate list with enough specifications for the user or AI to distinguish choices.
The AI can inspect an exact candidate before downloading it.
The AI can download and insert an exact selected part into the active document using the existing component/import conventions.
Ambiguous searches require explicit narrowing rather than silently inserting an arbitrary result.
Existing authenticated browser state is reused locally without credentials entering model context or logs.
Login/challenge-required states can transition to human completion and then resume the pending operation.
Search/download/import work is asynchronous, cancellable, and reports meaningful status without freezing the VibeCAD UI.
Retries are idempotent for downloads and do not accidentally duplicate imported objects.
Temporary inbox data is cleaned up and valid cached CAD remains reusable.
The existing human Catalog, Import, cache, and placement workflows continue to work unchanged.
Problem
The McMaster-Carr integration is currently human-only. A user can open the catalog, search, download 3-D CAD, and let VibeCAD import it, but the AI cannot perform the equivalent workflow. Even when the user's request identifies the needed hardware, a human must leave the conversation, drive the catalog UI, choose a part, and initiate the download.
This prevents workflows such as:
The existing implementation already provides useful local infrastructure: persistent authenticated browser profiles, per-session download inboxes, CAD caching, part-number metadata, and import into
PartDesign::Component. The missing layer is a safe, structured, AI-callable catalog workflow.User-visible outcome
VibeCAD's AI can search McMaster-Carr, return a bounded set of relevant candidates, resolve an exact catalog part, retrieve its supported 3-D CAD, and insert it into the active document without requiring the user to manually operate the catalog.
The human Catalog and Import commands must remain available and behaviorally unchanged.
Proposed capability surface
Add an additive McMaster tool surface with separate read and mutation operations. Exact names can follow the repository's Native capability conventions, but the responsibilities should remain distinct:
Search must not silently choose among materially different candidates. When the request is ambiguous, the AI should present the narrowed choices and ask the user which exact part to insert.
Authentication and security
Correctness and lifecycle requirements
Acceptance criteria
Non-goals