protogrid

Search / com.plyparts/ply

ply 3D Printing

R0· no sign-in

Custom 3D-printed parts: describe a part, upload a 3D file or pick a model, see a live price, order.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality76good
Trust83of 100
Uptime, 30 days100%
Latency p50396 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "ply": {
      "type": "http",
      "url": "https://www.plyparts.com/mcp"
    }
  }
}
claude mcp add --transport http ply https://www.plyparts.com/mcp
[mcp_servers.ply]
url = "https://www.plyparts.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ply": {
      "type": "remote",
      "url": "https://www.plyparts.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "ply": {
      "type": "http",
      "url": "https://www.plyparts.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ply&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LnBseXBhcnRzLmNvbS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "ply": {
      "type": "http",
      "url": "https://www.plyparts.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "ply": {
      "httpUrl": "https://www.plyparts.com/mcp"
    }
  }
}
extensions:
  "ply":
    enabled: true
    name: "ply"
    type: streamable_http
    uri: "https://www.plyparts.com/mcp"
    timeout: 300

Quality 76 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • warn
    tools.token_costabout 10,370 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes12 tool changes in 30 days
  • fail
    stability.rug_pull2 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 10,370 tokens to load them all · tool set 31221eabd373 · tools last changed 2026-11-05 · checked 2026-11-07 19:10 UTC

Tool changes

  • order_cartchangedinput schema
  • price_cartchangedinput schema
  • order_partchangedinput schema
  • recommend_materialchangedinput schema
  • make_partchangedinput schema
  • order_cartadded

    Put every part from price_cart into one ply cart and get the link to finish the order on plyparts.com (shipping, payment, engineer review). Pass the same parts list. Nothing is charged here.

  • price_cartadded

    Price a cart of several different parts at once (built parts from sizes and/or the customer's files, each with its own options and quantity). ply's card shows them in a grid with each part's picture, quantity, price and the total, and an Order button for all of them. Call again with the whole updated list after any change.

  • order_partchangedinput schema
  • recommend_materialchangedinput schema
  • make_partchangedinput schema

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-12d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://www.plyparts.com/mcp streamable-httpnoneyes100%396 ms2026-07-282026-11-07

Tools (9)

find_modelsread-onlySearch Printables for ready-made 3D models. Returns titles, designers and page links; the customer downloads their pick and drops it into ply's card.
list_materialsread-onlyThe materials, colors and strength levels ply prints custom parts in, with what each material is good for.
make_partread-onlyBuild, check and price a custom 3D-printed part from exact sizes (mm): plate with holes, L-bracket, spacer/standoff, washer, or box with lid. Shows the part in 3D with its price and an Order button. Sizes left out use sensible defaults. Use again with new sizes or options when the customer asks for changes.
order_cartPut every part from price_cart into one ply cart and get the link to finish the order on plyparts.com (shipping, payment, engineer review). Pass the same parts list. Nothing is charged here.
order_partPut a part into a ply cart and get the link to finish the order on plyparts.com (shipping, payment, engineer review). Nothing is charged here. For a built part pass the same template, sizes and options; for a file pass its path and options.
price_cartread-onlyPrice a cart of several different parts at once (built parts from sizes and/or the customer's files, each with its own options and quantity). ply's card shows them in a grid with each part's picture, quantity, price and the total, and an Order button for all of them. Call again with the whole updated list after any change.
price_fileread-onlyPrice the customer's 3D file (STL, 3MF, STEP or OBJ) and show it in ply's card. Without a file, shows the card with an upload button (with sourceUrl: the model page to download it from). In ChatGPT, pass a file the customer attached. Pass `path` (from an earlier result) to change options for a file already priced.
price_model_linkread-onlyShow a 3D model's page in ply's card with an upload box: the customer opens the link, downloads the file (STL, 3MF, STEP or OBJ) and drops it in for an instant price. ply doesn't download models from any site itself.
recommend_materialread-onlyRun ply's material advisor ("Help me choose" on plyparts.com) for a part: it may ask up to 2 questions about how the part is used, then recommends a process, material, color and strength. Give either the part's ply `path` (a file) or its template and sizes (a built part).

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.plyparts/ply",
  "title": "ply 3D Printing",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://www.plyparts.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://www.plyparts.com/ai",
  "description": "Custom 3D-printed parts: describe a part, upload a 3D file or pick a model, see a live price, order."
}