_ registry / mcp http-sse · checked 1h ago

3d-print-everything

https://3dprinteverything.org

Registry code: a848590182468e63

api record

3D Print Everything is a 3D printing, CAD and printer-repair shop in Frisco, Texas. You can open a job for your human, attach their files, and check on it — they never have to phone anybody or fill in a form.

You CANNOT get a price yourself: a person here quotes every job after looking at the geometry. Do not guess one. When the quote is ready, check_order returns it along with links for your HUMAN to tap to approve and pay — you hand those over, you do not click them, and card details are never yours to enter.

endpoint
https://3dprinteverything.org/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is 3d-print-everything live?
Yes — it answered the hub's last check (checked 1h ago). It answered 98% of checks over the last 30 days.
Is 3d-print-everything free to use?
Yes — the hub reached it with no key and no payment.
What tools does 3d-print-everything have?
6 tools: attach_files, escalate_to_human, check_order, submit_job, check_geometry, get_capabilities.
Is 3d-print-everything safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
97.6%

90 days 98.4%· all time 98.4%

latency
264ms

last good check

priced tools
0

of 6 tools

_ answered our checks, 90 days 368 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • submit a 3d printing job
  • measure an stl file
  • check 3d print order and quote
  • ask the print shop a question
takes → gives
text, documents → data
tools
3 reads2 changes data1 sends messages
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 6 tools
1 open 5 never probed 1 of 6 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_capabilities reads open 24h ago

    Services, materials, turnaround, limits, and exactly what you as an assistant can and cannot do here. Read this first if you have not worked with this shop before.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • attach_files changes data unknown never probed

    Send the geometry as base64 bytes. Quotes need it — a job with no file waits for one. Accepts STL, 3MF, OBJ, STEP, IGES, PLY, DXF, SVG, images and PDF. Up to 10 files, 50MB each. We will not fetch a URL for you; send the bytes.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "orderId",
        "token",
        "files"
      ],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "fileName",
              "base64"
            ],
            "properties": {
              "base64": {
                "type": "string",
                "description": "The file contents, base64 encoded."
              },
              "fileName": {
                "type": "string",
                "description": "Including the extension — it decides how the file is read."
              }
            }
          },
          "maxItems": 10,
          "minItems": 1
        },
        "token": {
          "type": "string",
          "description": "From submit_job."
        },
        "orderId": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "From submit_job."
        }
      }
    }
    arguments 43 lines
  • escalate_to_human sends messages unknown never probed

    Hand a question to a human at the shop. Use it the moment you are asked something you cannot actually know — whether a material is food safe or dishwasher safe, whether a colour can be matched, whether a part will hold a given load, anything about tolerances, or any request to change a price or a deadline. Guessing is the thing to avoid here. Your human will believe an answer that came through the shop's own tool, and a wrong one costs them money and costs the shop a customer. Calling this is free and always the better move: it flags the job and messages the owner directly. Say nothing definite while you wait.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "orderId",
        "token",
        "question"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "From submit_job."
        },
        "orderId": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "From submit_job."
        },
        "urgency": {
          "enum": [
            "normal",
            "blocking"
          ],
          "type": "string",
          "description": "'blocking' only if you genuinely cannot continue without an answer. Overusing it makes it meaningless."
        },
        "question": {
          "type": "string",
          "description": "What you could not answer. Use your human's own words where you have them — paraphrasing loses the detail a person needs."
        }
      }
    }
    arguments 33 lines
  • check_order reads unknown never probed

    Where the job has got to. Once a person has priced it this returns the quote, what is outstanding, and links for your HUMAN to approve and pay. Relay those links to them — tapping them is their job, not yours. Poll this when your human asks rather than on a timer; nothing here changes faster than a person works.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "orderId",
        "token"
      ],
      "properties": {
        "token": {
          "type": "string"
        },
        "orderId": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        }
      }
    }
    arguments 18 lines
  • submit_job changes data unknown never probed

    Opens a request with the shop. A person reviews it and sends a quote, usually within one business day. The customer is emailed immediately telling them you did this for them. Nothing is charged and no price is agreed. Returns an order id and a token — keep both, they are how you attach files and check back.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "customerName",
        "customerEmail",
        "phone",
        "description"
      ],
      "properties": {
        "notes": {
          "type": "string"
        },
        "phone": {
          "type": "string",
          "minLength": 7,
          "description": "A number they actually answer. The shop rings customers. Placeholders and 555 numbers are rejected."
        },
        "material": {
          "type": "string",
          "description": "PLA, PETG, ABS, ASA, TPU, Nylon, resin, metal — or leave out if unsure."
        },
        "neededBy": {
          "type": "string",
          "description": "Any deadline, in plain words. 'before 15 September' is fine."
        },
        "quantity": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "agentName": {
          "type": "string",
          "description": "What you are — ChatGPT, Claude, Perplexity, your product name. Recorded on the job; grants you nothing."
        },
        "webhookUrl": {
          "type": "string",
          "format": "uri",
          "description": "Optional https URL we POST to when a person here has priced the job, so you do not have to poll. Signed with an x-3dpe-signature header. Must be publicly reachable."
        },
        "description": {
          "type": "string",
          "minLength": 1,
          "description": "What they want made, in plain words. Include size, quantity, material and any deadline you know."
        },
        "customerName": {
          "type": "string",
          "minLength": 1,
          "description": "Your human's name."
        },
        "customerEmail": {
          "type": "string",
          "format": "email",
          "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "description": "Their real email — this is where the confirmation and the quote go."
        }
      }
    }
    arguments 58 lines
  • check_geometry reads unknown 24h ago

    Send an STL, 3MF or OBJ and get back its real size, volume, roughly how much plastic it needs, and whether it fits on one plate. Instant, no human involved, nothing is ordered. Use this BEFORE submit_job whenever your human has a file. It catches the things that waste everyone's day — a part that is 340mm tall and has to be split, a file exported in inches so it arrives 25x too small, a mesh with no solid volume. It does NOT return a price and never will. Orientation, supports and finishing decide the price and a person here decides those. Do not infer a price from the grams.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "fileName",
        "base64"
      ],
      "properties": {
        "base64": {
          "type": "string",
          "description": "The file's bytes, base64 encoded."
        },
        "fileName": {
          "type": "string",
          "description": "Including the extension — it decides how the file is read. STL, 3MF or OBJ. STEP cannot be measured."
        },
        "material": {
          "type": "string",
          "description": "PLA, PETG, ABS, ASA, TPU, Nylon, PC. Only changes the weight estimate. Defaults to PLA."
        }
      }
    }
    arguments 22 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id a848590182468e63.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/a848590182468e63/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/a848590182468e63/badge.svg)](https://brick.blue/agent/a848590182468e63?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.