Jet3D MCP Server
Jet3D Model Context Protocol (MCP) Server
Official Model Context Protocol (MCP) server for Jet3D.pl — custom 3D-printed confectionery cookie cutters and stamps manufactured on-demand in Poland.
This server enables AI assistants (Claude Desktop, Cursor, Windsurf, Zed, and autonomous AI agents) to:
🎨 Design personalized 3D confectionery cutters & stamps (8 geometric shapes, 5 typography styles, custom relief).
💰 Calculate transparent pricing in PLN (physical sets & instant digital 3MF/STL downloads).
📜 Verify food-contact safety compliance (EU FCM DoC, Regulation EC 1935/2004, GMP EC 2023/2006).
🚀 Generate Instant BLIK Checkout links with pre-filled delivery inputs (InPost Paczkomat, email, phone) and automatic BLIK input focus (
< 5 second checkout).
🛠️ MCP Features
1. Tools
Tool | Description |
| Configures a personalized cutter (shape, diameter 50–120mm, text lines 1–3, typography font, recipient details) and generates an Instant BLIK checkout URL. |
| Returns official technical details: 2-piece set design (cutter + separate 2.8mm relief stamp), virgin food-safe PLA, washing instructions (hand wash max 45°C), production turnaround (24–48h). |
| Explains available shapes ( |
2. Resources
URI | Mime Type | Description |
|
| Live catalog metadata, manufacturer information, supported shapes, fonts, and base pricing structures. |
3. Prompts
Prompt | Description |
| Guided interactive interview flow to help a user create the perfect cookie cutter design for their wedding, birthday, christening, baby shower, or corporate event. |
Related MCP server: fichapao-mcp-server
🚀 Quick Start & Client Configuration
Claude Desktop
Add this configuration to your claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Option A: Run via NPX (Recommended)
{
"mcpServers": {
"jet3d": {
"command": "npx",
"args": [
"-y",
"@toomus/jet3d-mcp"
]
}
}
}Option B: Run via Local Clone
{
"mcpServers": {
"jet3d": {
"command": "node",
"args": [
"/path/to/jet3d-mcp/build/index.js"
]
}
}
}Option C: Run via Docker
{
"mcpServers": {
"jet3d": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"toomus/jet3d-mcp"
]
}
}
}Cursor IDE
Add the server to your project or user .cursor/mcp.json:
{
"mcpServers": {
"jet3d": {
"command": "npx -y @toomus/jet3d-mcp"
}
}
}Smithery.ai (1-Click Install)
To install Jet3D MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @toomus/jet3d-mcp --client claude💡 How It Works (AI Agent Workflow)
User asks AI assistant:
"Chcę zamówić foremkę do ciastek w kształcie serca z napisem 'Sto Lat Aniu!' na urodziny mojej siostry. Paczkomat KRA01M."
AI calls
create_custom_cutter_checkout:{ "shape": "heart", "diameter_mm": 70, "text_line_1": "Sto Lat Aniu!", "font_line_1": "script", "paczkomat_code": "KRA01M", "order_type": "physical" }AI responds with complete order breakdown and checkout link:
Produkt: Foremka 2-częściowa (wykrawacz + stempel 2.8 mm) — 34,90 zł
Atest: Food-Contact PLA (certyfikat UE DoC/GMP)
Dostawa: Paczkomat InPost — 16,99 zł
Razem: 51,89 zł
Link:
https://jet3d.pl/checkout/new?shape=heart&diameter_mm=70&text_line_1=Sto+Lat+Aniu%21&font_line_1=script&paczkomat=KRA01M&...
Zero-Friction Checkout: When the customer clicks the link:
3D preview and delivery address are already populated.
The cursor automatically focuses on the 6-digit BLIK code input (
autofocus).The customer enters their BLIK code, taps confirm on their mobile banking app, and the order is placed in seconds!
📦 Development & Local Testing
Prerequisites
Node.js >= 20.0.0
npm >= 9.0.0
Build & Run
# 1. Clone the repository
git clone https://github.com/toomus/jet3d-mcp.git
cd jet3d-mcp
# 2. Install dependencies
npm install
# 3. Compile TypeScript
npm run build
# 4. Run via MCP Inspector for local debugging
npx @modelcontextprotocol/inspector node build/index.jsDocker Build
docker build -t jet3d-mcp .
docker run -i --rm jet3d-mcp🔒 Security & Food Contact Certification
Material: 100% virgin Food-Safe PLA bioplastic.
Regulations: Manufactured according to Good Manufacturing Practice (GMP) under Regulation (EC) No 2023/2006 and compliant with Framework Regulation (EC) No 1935/2004 and Commission Regulation (EU) No 10/2011.
Migration Limits: Verified by accredited analytical testing (overall & specific migration limits).
Declaration of Compliance (DoC): Available on request for confectioneries, bakeries, and culinary businesses.
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
Copyright (c) Tomasz Boyke (Jet3D.pl).
Available Tools
3 toolscreate_custom_cutter_checkoutB
Design a personalized 3D-printed cookie cutter and generate an Instant BLIK checkout URL for the customer to complete payment in seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| shape | Yes | Geometric shape of the cookie cutter (e.g. 'heart', 'circle', 'flower') | |
| order_type | No | Order type: 'physical' (3D printed + shipped) or 'digital' (instant 3MF/STL download) | physical |
| diameter_mm | No | Outer diameter in millimeters (50 to 120 mm, default: 70) | |
| font_line_1 | No | Font style for the primary text line | script |
| text_line_1 | Yes | First line of custom text (e.g. 'Sto Lat Aniu', 'Młoda Para') | |
| text_line_2 | No | Second line of custom text (optional) | |
| text_line_3 | No | Third line of custom text (optional) | |
| customer_name | No | Customer recipient full name (e.g. 'Jan Kowalski') | |
| customer_email | No | Customer email for order confirmation and tracking | |
| customer_phone | No | Customer 9-digit Polish mobile phone for InPost SMS notification (e.g. '500-123-456') | |
| paczkomat_code | No | InPost Paczkomat box code (e.g. 'KRA01M', 'WAW22A') | |
| font_size_line_1 | No | Font size for line 1 | md |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose that the tool generates a checkout URL and is transactional in nature, but it does not mention side effects like order creation, idempotency, authorization requirements, or whether customer contact details are mandatory for certain order types. This is a partial disclosure with clear gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence contains the core action and outcome with no filler. It is front-loaded with the primary purpose and reads naturally, making it easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 12 parameters and no output schema, yet the description only provides a one-line summary. It does not explain the expected response shape, prerequisites, or notable parameter combinations (e.g., physical vs. digital order requirements). An agent would struggle to understand the full call context without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents every parameter, including enums, defaults, and constraints. The description adds no parameter-specific meaning beyond the high-level 'personalized' cookie cutter concept, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific, compound action: design a personalized 3D-printed cookie cutter and generate an Instant BLIK checkout URL. It clearly identifies the tool's output (payment URL) and distinguishes it from the sibling lookup tools, which retrieve specifications or lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to choose this tool over its siblings, such as 'use list_available_shapes_and_fonts first' or 'for available specs use get_cutter_specifications.' The intended workflow must be inferred solely from the tool's name and the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cutter_specificationsA
Retrieve official technical, food safety (DoC/GMP), and material specifications for Jet3D cookie cutters and stamps.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It explicitly states 'Retrieve', indicating a read-only operation, and mentions 'official' specifications, suggesting verified data. No side effects are disclosed, but the action is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundancy, directly conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides a general sense of the content returned (technical, food safety, material specs) but does not specify the format or structure. This is adequate for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so there is nothing to describe. The description fully accounts for the input aspect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action (Retrieve), the resource (technical, food safety, and material specifications for Jet3D cookie cutters and stamps), and it distinguishes from sibling tools which handle checkout and listing shapes/fonts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when specifications are needed) but does not explicitly state conditions or contrast with alternatives. No guidance is provided on when not to use it, though the purpose is self-explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_shapes_and_fontsA
List supported 3D shapes, typography font styles, and recommended occasions for personalized cutters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral disclosure burden. It does convey read-only listing behavior and the scope of what is listed, but it says nothing about ordering, availability/static nature, or return shape. There is no contradiction, but behavioral detail is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence that names the action and the full set of resources without filler. 'Typography font styles' is slightly repetitive but does not hurt clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool, the description is nearly complete: it enumerates exactly what the agent will receive. The only gap is some explicit guidance about how the listed options connect to create_custom_cutter_checkout, though the sibling names and 'for personalized cutters' supply enough context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already exhaustively documents them (100% coverage). The description adds scope context by naming the categories returned, which is all that parameter semantics can do here; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb 'List' and names three concrete resources: supported 3D shapes, typography font styles, and recommended occasions for personalized cutters. This clearly distinguishes the tool from create_custom_cutter_checkout and get_cutter_specifications, which imply different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for personalized cutters' gives some context, but the description never states when to choose this tool over siblings or what the output should be used for. Usage is only implied by the name and the available sibling list, not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
create_custom_cutter_checkout - First observed
get_cutter_specifications - First observed
list_available_shapes_and_fonts
TDQS
Each tool maps to a distinct capability: catalog browsing (list shapes/fonts), technical reference (get specifications), and purchase generation (create checkout). There is no semantic overlap or ambiguity between these actions.
All three tools follow a consistent verb_noun pattern: list_..., get_..., create_.... The naming clearly expresses the operation and resource, making the tool surface predictable.
Three tools is at the lower bound but well-scoped for a narrow product/purchase domain: discover options, reference specs, and create a checkout. Each tool covers a distinct step in the workflow and none feel redundant.
The core custom-cutter workflow is covered: browse options, retrieve compliance/spec details, and generate a paid checkout link. The only notable gap is order/payment status lookup after checkout, but this can be handled outside the MCP server or by a later addition.
Maintenance
Related MCP Connectors
Furgonetka MCP Server is an extension for LLMs (such as Claude) that integrates AI assistants with Poland's most popular courier brokerage platform. The server enables models to interact directly with services from various couriers (including InPost, DPD, DHL, UPS, and Poczta Polska) through a single, unified interface. With this integration, your AI stops just "writing about logistics" and starts actually managing it.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Related MCP Servers
- AlicenseAqualityFmaintenanceA Model Context Protocol (MCP) server for authenticated REST APIs. Drop it into any project, point it at your API, and let AI agents call endpoints — with auto-login, 2FA support, Swagger spec fetch, and fuzzy endpoint search — all without writing a single line of auth code.3146MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for managing bakery recipe technical sheets with Postgres. Enables AI agents to search, create, update, approve, and compare recipe versions through secure tools.-
- FlicenseNot gradedqualityDmaintenanceEnables deployment of MCP servers over HTTP, providing ready-to-use tools for text processing, math calculations, and social media content generation, accessible to AI assistants like GitHub Copilot and Claude.-
- AlicenseNot gradedqualityDmaintenanceMCP server for Frisco.pl — lets Claude add groceries to your cart, search products, get nutritional info, and manage recipes, all via natural language.7MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/toomus/jet3d-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server