Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,558Letters: 14Defects: 1,331counted 4 min ago
teppi

Server definition

Hash
sha256:39c79d44e5f166a5852d94f8e7eae4d84ba4d43108075b31c7e00e2c5a341f74
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "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.\n\nYou 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.\n\nYou CAN measure a file instantly with check_geometry — size, weight, and whether it fits on one plate. Do that before submitting a job, so your human hears about a part that needs splitting now rather than tomorrow.\n\nIf you are asked something you cannot know — food safe, dishwasher safe, will it hold this load, can you match this colour — use escalate_to_human instead of guessing. Your human will believe you, because the answer appears to come from the shop.\n\nAsk your human for a phone number they actually answer. Placeholder numbers are rejected.", "tools": [ { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "files": { "items": { "properties": { "base64": { "description": "The file contents, base64 encoded.", "type": "string" }, "fileName": { "description": "Including the extension — it decides how the file is read.", "type": "string" } }, "required": [ "fileName", "base64" ], "type": "object" }, "maxItems": 10, "minItems": 1, "type": "array" }, "orderId": { "description": "From submit_job.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "token": { "description": "From submit_job.", "type": "string" } }, "required": [ "orderId", "token", "files" ], "type": "object" }, "name": "attach_files", "outputSchema": null }, { "description": "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.\n\nUse 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.\n\nIt 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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "base64": { "description": "The file's bytes, base64 encoded.", "type": "string" }, "fileName": { "description": "Including the extension — it decides how the file is read. STL, 3MF or OBJ. STEP cannot be measured.", "type": "string" }, "material": { "description": "PLA, PETG, ABS, ASA, TPU, Nylon, PC. Only changes the weight estimate. Defaults to PLA.", "type": "string" } }, "required": [ "fileName", "base64" ], "type": "object" }, "name": "check_geometry", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "orderId": { "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "token": { "type": "string" } }, "required": [ "orderId", "token" ], "type": "object" }, "name": "check_order", "outputSchema": null }, { "description": "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.\n\nGuessing 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.\n\nSay nothing definite while you wait.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "orderId": { "description": "From submit_job.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "question": { "description": "What you could not answer. Use your human's own words where you have them — paraphrasing loses the detail a person needs.", "type": "string" }, "token": { "description": "From submit_job.", "type": "string" }, "urgency": { "description": "'blocking' only if you genuinely cannot continue without an answer. Overusing it makes it meaningless.", "enum": [ "normal", "blocking" ], "type": "string" } }, "required": [ "orderId", "token", "question" ], "type": "object" }, "name": "escalate_to_human", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_capabilities", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "agentName": { "description": "What you are — ChatGPT, Claude, Perplexity, your product name. Recorded on the job; grants you nothing.", "type": "string" }, "customerEmail": { "description": "Their real email — this is where the confirmation and the quote go.", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "customerName": { "description": "Your human's name.", "minLength": 1, "type": "string" }, "description": { "description": "What they want made, in plain words. Include size, quantity, material and any deadline you know.", "minLength": 1, "type": "string" }, "material": { "description": "PLA, PETG, ABS, ASA, TPU, Nylon, resin, metal — or leave out if unsure.", "type": "string" }, "neededBy": { "description": "Any deadline, in plain words. 'before 15 September' is fine.", "type": "string" }, "notes": { "type": "string" }, "phone": { "description": "A number they actually answer. The shop rings customers. Placeholders and 555 numbers are rejected.", "minLength": 7, "type": "string" }, "quantity": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "webhookUrl": { "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.", "format": "uri", "type": "string" } }, "required": [ "customerName", "customerEmail", "phone", "description" ], "type": "object" }, "name": "submit_job", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:39c79d44e5f166a5852d94f8e7eae4d84ba4d43108075b31c7e00e2c5a341f74 | sha256sum