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

mvg-fertigung

https://mvg-frankfurt.de

Registry code: dee285283da44e1e

api record

MVG Metallverkaufsgesellschaft (Frankfurt am Main): MCP-Server

=======================================================Halbzeuge (Rohre, Profile, Flach-/Rundmaterial) ab Lager, Abholung oder

endpoint
https://mvg-frankfurt.de/mcp
protocol
streamable-http ·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 mvg-fertigung live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is mvg-fertigung free to use?
Yes — the hub reached it with no key and no payment.
What tools does mvg-fertigung have?
25 tools: get_lead_time, whoami, check_manufacturability, normalize_material, find_hole_operations, get_price, get_delivery_options, get_shipping_estimate, ….
Is mvg-fertigung 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
100%

90 days 100%· all time 100%

latency
163ms

last good check

priced tools
0

of 25 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ 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 25 tools
2 open 23 never probed 2 of 25 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_agent_guidance open 1h ago

    Reihenfolge, Einheiten, Verbote und Beispiele. Zu Beginn lesen. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {},
      "additionalProperties": false
    }
    arguments 6 lines
  • find_materials open 1h ago

    Bleche: Werkstoffe mit lesbarem Code (material), Dicken (mm + label), Tafelformaten und REACH-Hinweis. Halbzeuge (Rohre, Profile, Flach-, Rund-, Vierkantmaterial): art_nr, Abmessungen, kg/m, Stangenlaenge. query mit Massen wie 'flach 20x5 alu', 'rohr 30x2', 'edelstahl 1.4301'. Beispiel: 'Alu-Winkel 15 x 15 x 2' ist ein Halbzeug-Winkelprofil -> kind 'halbzeug', query 'winkel 15x15x2 alu', danach get_price type 'profile' (kein Kantteil). material bzw. art_nr gehen danach in get_price/create_quote/configure_part. Katalog durchsehen: kind 'halbzeug' mit kategorie, werkstoff und ranges (Massbereich), z. B. {"kind": "halbzeug", "kategorie": "U-Profil", "werkstoff": "edelstahl", "ranges": {"breite_mm": {"min": 30, "max": 50}}}. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "examples": [
        {
          "query": "flach 20x5 alu"
        },
        {
          "kind": "halbzeug",
          "ranges": {
            "breite_mm": {
              "max": 50,
              "min": 30
            }
          },
          "kategorie": "U-Profil",
          "werkstoff": "edelstahl"
        },
        {
          "kind": "blech",
          "query": "edelstahl",
          "thickness_mm": 2
        }
      ],
      "required": [],
      "properties": {
        "kind": {
          "enum": [
            "alle",
            "blech",
            "halbzeug"
          ],
          "type": "string"
        },
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "maxLength": 120
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        },
        "ranges": {
          "type": "object",
          "properties": {
            "dicke_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "hoehe_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "breite_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "schenkel_a_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "schenkel_b_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "durchmesser_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "wandstaerke_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "schluesselweite_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "aussendurchmesser_mm": {
              "type": "object",
              "required": [],
              "properties": {
                "max": {
                  "type": "number",
                  "minimum": 0
                },
                "min": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            }
          },
          "description": "Halbzeug: Massbereiche, z. B. {\"breite_mm\": {\"min\": 30, \"max\": 50}}. Schluessel wie die Einzelmasse.",
          "additionalProperties": false
        },
        "dicke_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass dicke in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "hoehe_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass hoehe in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "breite_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass breite in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "kategorie": {
          "type": "string",
          "maxLength": 40,
          "description": "Halbzeug-Form (Teiltext), z. B. Flachstange, Rundstange, Rundrohr, Winkel, Vierkantstange, Vierkantrohr, U-Profil, Rechteckrohr, Sechskantstange, T-Profil, Z-Profil, HEB-Traeger. Die Antwort nennt unter facets alle Formen."
        },
        "werkstoff": {
          "type": "string",
          "maxLength": 40,
          "description": "Halbzeug-Werkstoff, z. B. 'aluminium', 'edelstahl', '1.4301', 'V2A', 'messing', 'stahl'"
        },
        "laser_only": {
          "type": "boolean"
        },
        "thickness_mm": {
          "type": "number",
          "maximum": 100,
          "description": "nur Bleche mit dieser Dicke",
          "exclusiveMinimum": 0
        },
        "schenkel_a_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass schenkel_a in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "schenkel_b_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass schenkel_b in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "durchmesser_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass durchmesser in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "wandstaerke_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass wandstaerke in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "schluesselweite_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass schluesselweite in mm (+-0,05)",
          "exclusiveMinimum": 0
        },
        "aussendurchmesser_mm": {
          "type": "number",
          "description": "Halbzeug: genau dieses Mass aussendurchmesser in mm (+-0,05)",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 255 lines
  • get_lead_time unknown never probed

    Fertigstellungs-/Abholtermin und Zustellfenster je Stufe (Economy, Standard, Express) inkl. Regel Express 24 h (bis Stichzeit bestellt: naechster Werktag gegen eigenen Aufpreis bei kleinen Zuschnitt-Mengen). Mit items gilt der Termin fuer genau diese Positionen; ohne items die allgemeinen Regeln. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "hem": {
                "enum": [
                  "open",
                  "closed"
                ],
                "type": "string",
                "description": "sheet: Umschlag (Biegung unter 30 Grad) offen mit Spalt oder geschlossen zugedrueckt."
              },
              "cuts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "length_mm",
                    "quantity"
                  ],
                  "properties": {
                    "quantity": {
                      "type": "integer",
                      "maximum": 10000,
                      "minimum": 1
                    },
                    "length_mm": {
                      "type": "number",
                      "maximum": 12000,
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 50,
                "minItems": 1
              },
              "type": {
                "enum": [
                  "sheet_cut",
                  "sheet",
                  "profile",
                  "accessory",
                  "upload",
                  "design",
                  "part_draft"
                ],
                "type": "string",
                "description": "sheet_cut = rechteckiger Blech-Zuschnitt; sheet = Kantteil (Schenkel + Biegungen); profile = Halbzeug-Zuschnitt; accessory = Zubehoer; upload/design = CAD-Teil, part_draft = Entwurf aus configure_part/configure_plate (nur create_quote, mit Anmeldung)"
              },
              "bends": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "angle_deg"
                  ],
                  "properties": {
                    "angle_deg": {
                      "type": "number",
                      "maximum": 180,
                      "exclusiveMinimum": 0
                    },
                    "direction": {
                      "enum": [
                        "up",
                        "down"
                      ],
                      "type": "string"
                    },
                    "inner_radius_mm": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 11,
                "description": "sheet: genau eine Biegung weniger als Schenkel"
              },
              "depth_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet: Laenge der Kantung (zweite Kante)",
                "exclusiveMinimum": 0
              },
              "draft_id": {
                "type": "string",
                "maxLength": 48,
                "description": "part_draft: aus configure_part/configure_plate"
              },
              "material": {
                "type": "string",
                "maxLength": 64,
                "description": "Werkstoff-Code aus find_materials, z. B. 'aluminium-almg3'"
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              },
              "width_mm": {
                "type": "number",
                "maximum": 3000,
                "description": "sheet_cut: Breite (schmalere Seite ab 20 mm, Tafelschere; schmalere Streifen als Laserteil ueber configure_plate)",
                "exclusiveMinimum": 0
              },
              "design_id": {
                "type": "string",
                "maxLength": 40
              },
              "length_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet_cut: Laenge",
                "exclusiveMinimum": 0
              },
              "reference": {
                "type": "string",
                "maxLength": 80,
                "description": "eigene Bezeichnung/Kommission"
              },
              "upload_id": {
                "type": "string",
                "maxLength": 40,
                "description": "upload: aus create_upload"
              },
              "article_nr": {
                "type": "string",
                "maxLength": 32,
                "description": "profile/accessory: art_nr aus find_materials"
              },
              "operations": {
                "type": "array",
                "items": {
                  "enum": [
                    "entgraten"
                  ],
                  "type": "string"
                }
              },
              "segments_mm": {
                "type": "array",
                "items": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "maxItems": 12,
                "minItems": 1,
                "description": "sheet: Schenkellaengen entlang der Kontur"
              },
              "measure_mode": {
                "enum": [
                  "inside",
                  "outside"
                ],
                "type": "string",
                "description": "sheet: Schenkelmasse aussen (outside) oder innen (inside) gemessen. Fehlt es, gilt outside und die Position wird in der Auftragspruefung geklaert."
              },
              "thickness_mm": {
                "type": "number",
                "maximum": 100,
                "exclusiveMinimum": 0
              },
              "visible_side": {
                "enum": [
                  "outside",
                  "inside",
                  "any"
                ],
                "type": "string",
                "description": "sheet: Sichtseite des Kantteils (Pflicht bei Werkstoffen mit Sichtseite: geschliffen, Folie, eloxiert, lackiert, Riffel). Fehlt sie, wird sie in der Auftragspruefung geklaert."
              },
              "hole_operations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "type",
                    "size",
                    "count"
                  ],
                  "properties": {
                    "size": {
                      "type": "string",
                      "pattern": "^[Mm][0-9]{1,2}$"
                    },
                    "type": {
                      "enum": [
                        "gewinde",
                        "senkung"
                      ],
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "maximum": 500,
                      "minimum": 1
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 20,
                "description": "upload/design/part_draft: Gewinde schneiden bzw. Senkungen je Teil (Groessen aus find_hole_operations), z. B. [{type:'gewinde', size:'M6', count:4}]"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50,
          "minItems": 1
        },
        "shipping_kind": {
          "enum": [
            "parcel",
            "pallet"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 230 lines
  • whoami unknown never probed

    Fuer wen spricht dieser Zugang, welche Rechte gelten? [Zugang: requires login: Scope catalog:read. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {},
      "additionalProperties": false
    }
    arguments 6 lines
  • check_manufacturability unknown 1h ago

    Konstruktionsgrenzen fuer Werkstoff + Dicke (max. Format, max. Laser-Dicke je Werkstoff aus dem Maschinenpark, kleinster Lochdurchmesser, Steg, Randabstand, Biegung, Mindestschenkel) und, mit part, Pruefung eines Kantteils ohne Datei (tolerance_mm = gewuenschte Masstoleranz +/- mm). Mit design_id oder upload_id (Anmeldung, designs:write) wird eine CAD-Datei geprueft (flache Teile inkl. Konturen: Stege, Schlitze, Inseln, Kleinteile). Ergebnis: status ok|warn|block, ampel (fertigbar|hinweis|pruefanfrage|nicht_fertigbar), requirements und feedback: counts {block, warn}, issues[] mit where (Kantung/Ort), limit (Grenzwert) und fix (anwendbare Aenderung Feld + Wert, price_effect_net in Cent), bends[] je Kantung und visual (part_svg_url Querschnitt, bending_svg_url Biegeschritte mit Werkzeug, Kollision rot). Nur bei counts 0/0 fehlerfrei melden. Beispiel: {"material":"edelstahl-1.4301","thickness_mm":2,"part":{"depth_mm":500,"segments_mm":[5,100,40],"bends":[{"angle_deg":90},{"angle_deg":90}]}}. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "part": {
          "type": "object",
          "required": [
            "depth_mm",
            "segments_mm"
          ],
          "properties": {
            "bends": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "angle_deg"
                ],
                "properties": {
                  "angle_deg": {
                    "type": "number",
                    "maximum": 180,
                    "exclusiveMinimum": 0
                  },
                  "direction": {
                    "enum": [
                      "up",
                      "down"
                    ],
                    "type": "string"
                  },
                  "inner_radius_mm": {
                    "type": "number",
                    "maximum": 100,
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 11,
              "description": "sheet: genau eine Biegung weniger als Schenkel"
            },
            "depth_mm": {
              "type": "number",
              "maximum": 12000,
              "exclusiveMinimum": 0
            },
            "quantity": {
              "type": "integer",
              "maximum": 10000,
              "minimum": 1,
              "description": "Menge fuer price_effect_net (Standard 1)"
            },
            "segments_mm": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "maxItems": 12,
              "minItems": 1
            }
          },
          "additionalProperties": false
        },
        "material": {
          "type": "string",
          "maxLength": 64
        },
        "design_id": {
          "type": "string",
          "maxLength": 40
        },
        "upload_id": {
          "type": "string",
          "maxLength": 40
        },
        "thickness_mm": {
          "type": "number",
          "maximum": 100,
          "exclusiveMinimum": 0
        },
        "tolerance_mm": {
          "type": "number",
          "maximum": 10,
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 89 lines
  • normalize_material unknown never probed

    Freier Werkstoff-Text (z. B. 'V2A 2mm', 'AlMg3', '1.4301 geschliffen', 'verzinkt 1,5') -> passende Blech-Werkstoffe mit 'material'-Code und Dicken. Vor get_price nutzen, wenn der Nutzer den Werkstoff frei beschreibt. Beispiel: {"query": "V2A 2mm"}. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "examples": [
        {
          "query": "V2A 2mm"
        },
        {
          "query": "AlMg3",
          "thickness_mm": 3
        }
      ],
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "thickness_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 27 lines
  • find_hole_operations unknown never probed

    Gewinde schneiden und Senkungen je Werkstoff und Dicke: Groessen mit Kernloch bzw. Durchgang, Preis je Stueck netto/brutto (Cent), ob die Groesse fuer diesen Werkstoff und diese Dicke geht (ok/warn/block mit Grund), Ruestpauschale je Auftrag und Lieferzeit-Regel. Verwendung in create_quote: hole_operations an der upload/design-Position. Beispiel: {"material":"aluminium-almg3","thickness_mm":4}. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [
        "material"
      ],
      "properties": {
        "material": {
          "type": "string",
          "maxLength": 64
        },
        "thickness_mm": {
          "type": "number",
          "maximum": 100,
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • get_price unknown never probed

    Richtpreis netto und brutto (Kanal online, gleiche Engine wie der Shop) fuer Blech-Zuschnitt (sheet_cut), Kantteil (sheet) und Halbzeug-Zuschnitt (profile), dazu Zubehoer. Alle Kosten stecken im Preis, bei delivery.mode=shipping auch Versand. Nichts wird gespeichert; verbindlich und mit Warenkorb-Link wird es mit create_quote. type 'sheet' (Kantteil) nur fuer gekantetes Blech nach Zeichnung (Schenkel + Biegungen); Profile von der Stange (Winkel 15x15x2, Flach 40x5, Rohr) sind type 'profile' mit art_nr aus find_materials. Platten/Flansche MIT Loechern: configure_plate/configure_part. Antwort enthaelt pcf_kg_co2e (CO2e-Schaetzung cradle-to-gate, je Zeile und gesamt, Methode in pcf_method). Positionen IMMER als Liste items, auch bei einer Position. Beispiel: {"items": [{"type": "sheet_cut", "material": "aluminium-almg3", "thickness_mm": 2, "length_mm": 1000, "width_mm": 500, "quantity": 2}], "delivery": {"mode": "shipping", "postal_code": "60314"}} [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "examples": [
        {
          "items": [
            {
              "type": "sheet_cut",
              "material": "aluminium-almg3",
              "quantity": 2,
              "width_mm": 500,
              "length_mm": 1000,
              "thickness_mm": 2
            }
          ],
          "delivery": {
            "mode": "shipping",
            "postal_code": "60314"
          }
        },
        {
          "items": [
            {
              "type": "sheet",
              "bends": [
                {
                  "angle_deg": 90
                },
                {
                  "angle_deg": 90
                }
              ],
              "depth_mm": 2000,
              "material": "edelstahl-1.4301",
              "quantity": 1,
              "segments_mm": [
                40,
                60,
                40
              ],
              "measure_mode": "outside",
              "thickness_mm": 1.5
            }
          ]
        },
        {
          "items": [
            {
              "cuts": [
                {
                  "quantity": 4,
                  "length_mm": 1500
                }
              ],
              "type": "profile",
              "article_nr": "4202"
            }
          ],
          "delivery": {
            "mode": "pickup"
          }
        }
      ],
      "required": [
        "items"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "hem": {
                "enum": [
                  "open",
                  "closed"
                ],
                "type": "string",
                "description": "sheet: Umschlag (Biegung unter 30 Grad) offen mit Spalt oder geschlossen zugedrueckt."
              },
              "cuts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "length_mm",
                    "quantity"
                  ],
                  "properties": {
                    "quantity": {
                      "type": "integer",
                      "maximum": 10000,
                      "minimum": 1
                    },
                    "length_mm": {
                      "type": "number",
                      "maximum": 12000,
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 50,
                "minItems": 1
              },
              "type": {
                "enum": [
                  "sheet_cut",
                  "sheet",
                  "profile",
                  "accessory",
                  "upload",
                  "design",
                  "part_draft"
                ],
                "type": "string",
                "description": "sheet_cut = rechteckiger Blech-Zuschnitt; sheet = Kantteil (Schenkel + Biegungen); profile = Halbzeug-Zuschnitt; accessory = Zubehoer; upload/design = CAD-Teil, part_draft = Entwurf aus configure_part/configure_plate (nur create_quote, mit Anmeldung)"
              },
              "bends": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "angle_deg"
                  ],
                  "properties": {
                    "angle_deg": {
                      "type": "number",
                      "maximum": 180,
                      "exclusiveMinimum": 0
                    },
                    "direction": {
                      "enum": [
                        "up",
                        "down"
                      ],
                      "type": "string"
                    },
                    "inner_radius_mm": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 11,
                "description": "sheet: genau eine Biegung weniger als Schenkel"
              },
              "depth_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet: Laenge der Kantung (zweite Kante)",
                "exclusiveMinimum": 0
              },
              "draft_id": {
                "type": "string",
                "maxLength": 48,
                "description": "part_draft: aus configure_part/configure_plate"
              },
              "material": {
                "type": "string",
                "maxLength": 64,
                "description": "Werkstoff-Code aus find_materials, z. B. 'aluminium-almg3'"
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              },
              "width_mm": {
                "type": "number",
                "maximum": 3000,
                "description": "sheet_cut: Breite (schmalere Seite ab 20 mm, Tafelschere; schmalere Streifen als Laserteil ueber configure_plate)",
                "exclusiveMinimum": 0
              },
              "design_id": {
                "type": "string",
                "maxLength": 40
              },
              "length_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet_cut: Laenge",
                "exclusiveMinimum": 0
              },
              "reference": {
                "type": "string",
                "maxLength": 80,
                "description": "eigene Bezeichnung/Kommission"
              },
              "upload_id": {
                "type": "string",
                "maxLength": 40,
                "description": "upload: aus create_upload"
              },
              "article_nr": {
                "type": "string",
                "maxLength": 32,
                "description": "profile/accessory: art_nr aus find_materials"
              },
              "operations": {
                "type": "array",
                "items": {
                  "enum": [
                    "entgraten"
                  ],
                  "type": "string"
                }
              },
              "segments_mm": {
                "type": "array",
                "items": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "maxItems": 12,
                "minItems": 1,
                "description": "sheet: Schenkellaengen entlang der Kontur"
              },
              "measure_mode": {
                "enum": [
                  "inside",
                  "outside"
                ],
                "type": "string",
                "description": "sheet: Schenkelmasse aussen (outside) oder innen (inside) gemessen. Fehlt es, gilt outside und die Position wird in der Auftragspruefung geklaert."
              },
              "thickness_mm": {
                "type": "number",
                "maximum": 100,
                "exclusiveMinimum": 0
              },
              "visible_side": {
                "enum": [
                  "outside",
                  "inside",
                  "any"
                ],
                "type": "string",
                "description": "sheet: Sichtseite des Kantteils (Pflicht bei Werkstoffen mit Sichtseite: geschliffen, Folie, eloxiert, lackiert, Riffel). Fehlt sie, wird sie in der Auftragspruefung geklaert."
              },
              "hole_operations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "type",
                    "size",
                    "count"
                  ],
                  "properties": {
                    "size": {
                      "type": "string",
                      "pattern": "^[Mm][0-9]{1,2}$"
                    },
                    "type": {
                      "enum": [
                        "gewinde",
                        "senkung"
                      ],
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "maximum": 500,
                      "minimum": 1
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 20,
                "description": "upload/design/part_draft: Gewinde schneiden bzw. Senkungen je Teil (Groessen aus find_hole_operations), z. B. [{type:'gewinde', size:'M6', count:4}]"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50,
          "minItems": 1
        },
        "delivery": {
          "type": "object",
          "required": [],
          "properties": {
            "city": {
              "type": "string",
              "maxLength": 100
            },
            "mode": {
              "enum": [
                "pickup",
                "shipping"
              ],
              "type": "string"
            },
            "postal_code": {
              "type": "string",
              "maxLength": 10,
              "description": "bei shipping Pflicht"
            }
          },
          "additionalProperties": false
        },
        "include_pcf": {
          "type": "boolean",
          "default": true,
          "description": "false = ohne CO2e-Angaben (pcf_kg_co2e, pcf_method)"
        }
      },
      "additionalProperties": false
    }
    arguments 313 lines
  • get_delivery_options unknown never probed

    Alle Lieferstufen (Termin fertig, Zustellfenster, Aufpreis) und die Versandkosten zur Postleitzahl fuer genau diese Positionen in einem Aufruf; dazu Abholung (ohne Versandkosten). Termine, keine Lagerangaben. Beispiel: {"items":[...], "postal_code":"60314"}. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [
        "items"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "hem": {
                "enum": [
                  "open",
                  "closed"
                ],
                "type": "string",
                "description": "sheet: Umschlag (Biegung unter 30 Grad) offen mit Spalt oder geschlossen zugedrueckt."
              },
              "cuts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "length_mm",
                    "quantity"
                  ],
                  "properties": {
                    "quantity": {
                      "type": "integer",
                      "maximum": 10000,
                      "minimum": 1
                    },
                    "length_mm": {
                      "type": "number",
                      "maximum": 12000,
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 50,
                "minItems": 1
              },
              "type": {
                "enum": [
                  "sheet_cut",
                  "sheet",
                  "profile",
                  "accessory",
                  "upload",
                  "design",
                  "part_draft"
                ],
                "type": "string",
                "description": "sheet_cut = rechteckiger Blech-Zuschnitt; sheet = Kantteil (Schenkel + Biegungen); profile = Halbzeug-Zuschnitt; accessory = Zubehoer; upload/design = CAD-Teil, part_draft = Entwurf aus configure_part/configure_plate (nur create_quote, mit Anmeldung)"
              },
              "bends": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "angle_deg"
                  ],
                  "properties": {
                    "angle_deg": {
                      "type": "number",
                      "maximum": 180,
                      "exclusiveMinimum": 0
                    },
                    "direction": {
                      "enum": [
                        "up",
                        "down"
                      ],
                      "type": "string"
                    },
                    "inner_radius_mm": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 11,
                "description": "sheet: genau eine Biegung weniger als Schenkel"
              },
              "depth_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet: Laenge der Kantung (zweite Kante)",
                "exclusiveMinimum": 0
              },
              "draft_id": {
                "type": "string",
                "maxLength": 48,
                "description": "part_draft: aus configure_part/configure_plate"
              },
              "material": {
                "type": "string",
                "maxLength": 64,
                "description": "Werkstoff-Code aus find_materials, z. B. 'aluminium-almg3'"
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              },
              "width_mm": {
                "type": "number",
                "maximum": 3000,
                "description": "sheet_cut: Breite (schmalere Seite ab 20 mm, Tafelschere; schmalere Streifen als Laserteil ueber configure_plate)",
                "exclusiveMinimum": 0
              },
              "design_id": {
                "type": "string",
                "maxLength": 40
              },
              "length_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet_cut: Laenge",
                "exclusiveMinimum": 0
              },
              "reference": {
                "type": "string",
                "maxLength": 80,
                "description": "eigene Bezeichnung/Kommission"
              },
              "upload_id": {
                "type": "string",
                "maxLength": 40,
                "description": "upload: aus create_upload"
              },
              "article_nr": {
                "type": "string",
                "maxLength": 32,
                "description": "profile/accessory: art_nr aus find_materials"
              },
              "operations": {
                "type": "array",
                "items": {
                  "enum": [
                    "entgraten"
                  ],
                  "type": "string"
                }
              },
              "segments_mm": {
                "type": "array",
                "items": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "maxItems": 12,
                "minItems": 1,
                "description": "sheet: Schenkellaengen entlang der Kontur"
              },
              "measure_mode": {
                "enum": [
                  "inside",
                  "outside"
                ],
                "type": "string",
                "description": "sheet: Schenkelmasse aussen (outside) oder innen (inside) gemessen. Fehlt es, gilt outside und die Position wird in der Auftragspruefung geklaert."
              },
              "thickness_mm": {
                "type": "number",
                "maximum": 100,
                "exclusiveMinimum": 0
              },
              "visible_side": {
                "enum": [
                  "outside",
                  "inside",
                  "any"
                ],
                "type": "string",
                "description": "sheet: Sichtseite des Kantteils (Pflicht bei Werkstoffen mit Sichtseite: geschliffen, Folie, eloxiert, lackiert, Riffel). Fehlt sie, wird sie in der Auftragspruefung geklaert."
              },
              "hole_operations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "type",
                    "size",
                    "count"
                  ],
                  "properties": {
                    "size": {
                      "type": "string",
                      "pattern": "^[Mm][0-9]{1,2}$"
                    },
                    "type": {
                      "enum": [
                        "gewinde",
                        "senkung"
                      ],
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "maximum": 500,
                      "minimum": 1
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 20,
                "description": "upload/design/part_draft: Gewinde schneiden bzw. Senkungen je Teil (Groessen aus find_hole_operations), z. B. [{type:'gewinde', size:'M6', count:4}]"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50,
          "minItems": 1
        },
        "postal_code": {
          "type": "string",
          "pattern": "^[0-9]{5}$"
        },
        "shipping_kind": {
          "enum": [
            "parcel",
            "pallet"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 236 lines
  • get_shipping_estimate unknown never probed

    Packstueck-Rechner: wie die Teile verpackt werden (Karton, Flachpaket, Bund, Palette) und was der Versand netto/brutto kostet (Richtwert; verbindlich ist der Versand in get_price/create_quote mit delivery.mode=shipping). [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [
        "postal_code",
        "positions"
      ],
      "properties": {
        "country": {
          "enum": [
            "DE"
          ],
          "type": "string"
        },
        "positions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "blech",
                  "profil",
                  "zubehoer"
                ],
                "type": "string"
              },
              "material": {
                "type": "string",
                "maxLength": 64
              },
              "quantity": {
                "type": "integer",
                "maximum": 1000,
                "minimum": 1
              },
              "width_mm": {
                "type": "number",
                "maximum": 3000,
                "minimum": 0
              },
              "length_mm": {
                "type": "number",
                "maximum": 12000,
                "minimum": 0
              },
              "article_nr": {
                "type": "string",
                "maxLength": 32
              },
              "thickness_mm": {
                "type": "number",
                "maximum": 100,
                "minimum": 0
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50,
          "minItems": 1
        },
        "postal_code": {
          "type": "string",
          "maxLength": 10
        }
      },
      "additionalProperties": false
    }
    arguments 70 lines
  • search_docs unknown never probed

    Sucht in Magazin, Konstruktionsrichtlinien, FAQ, Preis-, Versand- und Werkstoffseiten. Mit path statt query wird eine Seite vollstaendig gelesen (path aus einem Treffer). [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "path": {
          "type": "string",
          "maxLength": 120
        },
        "limit": {
          "type": "integer",
          "maximum": 20,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "maxLength": 200
        },
        "section": {
          "type": "string",
          "maxLength": 40
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • list_part_templates unknown never probed

    Alle Formen des Teile-Editors (/teile-designer): Rechteck, Quadrat, Ronde, Ring, Lochkreis-Flansch, Lochplatte, Langloch-Platte, Laschen, Knotenbleche, gekantete Winkel/Wannen ... je Vorlage id, Name, Parameter (key, Einheit, min/max, Vorgabe) und ein Beispiel-Aufruf fuer configure_part. Gruppe 'anwendung': fertige Kantteile fuer den Bau (fensterbank, mauerabdeckung, attikahaube, ortgangblech, traufblech, wandanschluss, kehlblech, sockelprofil, tropfkante, abdeckwinkel = L-Winkel; wanne und kiesfangleiste ueber den Teile-Editor) mit erlaubten Werkstoffen/Staerken und aliases (Suchbegriffe wie Mauerkrone, Wetterschenkel, Eckwinkel, Attikaabdeckung). query filtert auch nach aliases ('flansch', 'fensterbank', 'mauerkrone'), group nach Gruppe. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "group": {
          "enum": [
            "grund",
            "scheiben",
            "lochbild",
            "laschen",
            "knoten",
            "gekantet",
            "anwendung"
          ],
          "type": "string"
        },
        "query": {
          "type": "string",
          "maxLength": 80
        }
      },
      "additionalProperties": false
    }
    arguments 23 lines
  • configure_part unknown never probed

    Teil aus einer Vorlage (template + params aus list_part_templates) plus optionale Zusatzloecher: der Server baut die Geometrie wie der Teile-Editor, prueft die Fertigbarkeit (Lochabstand Rand/Steg, Mindest-Loch-Ø je Dicke, Format) und rechnet den Shop-Preis netto+brutto inkl. aller Kosten (Kanal online). Ergebnis: status (ready|needs_review|price_unavailable|editor_only), price, lead_time, manufacturing_notes, preview_url (bemasste SVG-Zeichnung, 7 Tage), editor_url (Teile-Editor mit genau diesem Teil, dort in den Warenkorb), draft_id (7 Tage; angemeldet create_quote mit {type:'part_draft', draft_id}). Beispiel Flansch: {template:'flansch', params:{D:200,d:60,nl:4,dl:9,lk:140}, material:'aluminium-almg3', thickness_mm:3, quantity:1}. Koordinaten der extra_holes in mm ab linker unterer Ecke. Anwendungen (group 'anwendung', z. B. {template:'fensterbank', params:{L:1200,tiefe:150,ue:40,auf:20,ab:40,tropf:1}, material:'aluminium-almg3', thickness_mm:2}): Aussenmasse, Ergebnis mit price, manufacturability, order_item (fuer get_price/create_quote) und page_url (Seite mit vorbelegten Massen, dort in den Warenkorb). Speichert keine Kundendaten. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein (nur temporaerer Entwurf, 7 Tage).]

    mcp-tool

    {
      "type": "object",
      "required": [
        "template",
        "material",
        "thickness_mm"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 80
        },
        "params": {
          "type": "object",
          "description": "Werte je Parameter-key der Vorlage (fehlende = Vorgabe)",
          "additionalProperties": {
            "type": "number"
          }
        },
        "delivery": {
          "type": "object",
          "required": [],
          "properties": {
            "city": {
              "type": "string",
              "maxLength": 100
            },
            "mode": {
              "enum": [
                "pickup",
                "shipping"
              ],
              "type": "string"
            },
            "postal_code": {
              "type": "string",
              "maxLength": 10,
              "description": "bei shipping Pflicht"
            }
          },
          "additionalProperties": false
        },
        "material": {
          "type": "string",
          "maxLength": 64
        },
        "quantity": {
          "type": "integer",
          "maximum": 10000,
          "minimum": 1
        },
        "template": {
          "type": "string",
          "maxLength": 40
        },
        "extra_holes": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "x_mm",
              "y_mm",
              "diameter_mm"
            ],
            "properties": {
              "x_mm": {
                "type": "number"
              },
              "y_mm": {
                "type": "number"
              },
              "diameter_mm": {
                "type": "number",
                "maximum": 2000,
                "exclusiveMinimum": 0
              }
            },
            "additionalProperties": false
          },
          "maxItems": 150
        },
        "thickness_mm": {
          "type": "number",
          "maximum": 100,
          "exclusiveMinimum": 0
        },
        "corner_radius_mm": {
          "type": "number",
          "maximum": 1000,
          "minimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 94 lines
  • configure_plate unknown never probed

    Einfachster Weg fuer 'Ich brauche dieses Teil': rechteckige Platte length_mm x width_mm mit runden Loechern (holes: x_mm/y_mm = Lochmitte ab linker unterer Ecke, diameter_mm), optional corner_radius_mm. Sonst wie configure_part: Fertigbarkeit, Shop-Preis netto+brutto, Lieferzeit, preview_url, editor_url, draft_id. Beispiel: Platte 200 x 100 x 3 AlMg3 mit 6 Loechern Ø 9 -> {length_mm:200, width_mm:100, thickness_mm:3, material:'aluminium-almg3', holes:[{x_mm:20,y_mm:20,diameter_mm:9}, ...]}. [Zugang: oeffentlich, ohne Anmeldung. Aendert Daten: nein (nur temporaerer Entwurf, 7 Tage).]

    mcp-tool

    {
      "type": "object",
      "required": [
        "length_mm",
        "width_mm",
        "material",
        "thickness_mm"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 80
        },
        "holes": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "x_mm",
              "y_mm",
              "diameter_mm"
            ],
            "properties": {
              "x_mm": {
                "type": "number"
              },
              "y_mm": {
                "type": "number"
              },
              "diameter_mm": {
                "type": "number",
                "maximum": 2000,
                "exclusiveMinimum": 0
              }
            },
            "additionalProperties": false
          },
          "maxItems": 150
        },
        "delivery": {
          "type": "object",
          "required": [],
          "properties": {
            "city": {
              "type": "string",
              "maxLength": 100
            },
            "mode": {
              "enum": [
                "pickup",
                "shipping"
              ],
              "type": "string"
            },
            "postal_code": {
              "type": "string",
              "maxLength": 10,
              "description": "bei shipping Pflicht"
            }
          },
          "additionalProperties": false
        },
        "material": {
          "type": "string",
          "maxLength": 64
        },
        "quantity": {
          "type": "integer",
          "maximum": 10000,
          "minimum": 1
        },
        "width_mm": {
          "type": "number",
          "maximum": 1500,
          "exclusiveMinimum": 0
        },
        "length_mm": {
          "type": "number",
          "maximum": 3000,
          "exclusiveMinimum": 0
        },
        "thickness_mm": {
          "type": "number",
          "maximum": 100,
          "exclusiveMinimum": 0
        },
        "corner_radius_mm": {
          "type": "number",
          "maximum": 1000,
          "minimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 94 lines
  • create_upload unknown never probed

    Signierter Link fuer EINE STEP-, DXF-, AI- oder EPS-Datei (15 Minuten, einmalig, STEP bis 50 MiB, DXF/AI/EPS bis 20 MiB; AI/EPS wird zu DXF in mm, Masse stehen in der Upload-Antwort unter vektor). Bytes per PUT auf upload_url; kannst du die Datei nicht lesen, gib dem Nutzer browser_upload_url. Danach create_quote mit {type:'upload', upload_id, material, quantity} (DXF/AI/EPS zusaetzlich thickness_mm). Nie Dateiinhalt als Text/Base64 senden. Wann browser_upload_url: wenn die Datei nur beim Nutzer liegt (Anhang nicht lesbar, Datei auf seinem Rechner). Link sofort weitergeben (15 min), dann mit upload_status pruefen, ob sie angekommen ist (state 'received'), erst danach create_quote. Stueckliste: filenames (bis 20) liefert je Datei einen eigenen Link. [Zugang: requires login: Scope designs:write. Aendert Daten: ja (Upload-Link).]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "filename": {
          "type": "string",
          "maxLength": 255
        },
        "filenames": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 255
          },
          "maxItems": 20,
          "minItems": 1
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • upload_status unknown never probed

    Stand eines Uploads aus create_upload: waiting (Link offen, noch keine Datei), received (Datei da, weiter mit create_quote), expired (neuen Link holen). Hoechstens alle 10 Sekunden abfragen. [Zugang: requires login: Scope designs:write. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [
        "upload_id"
      ],
      "properties": {
        "upload_id": {
          "type": "string",
          "maxLength": 40
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • create_quote unknown never probed

    Verbindliches Angebot (24 h) netto und brutto mit quote_id und checkout_url: der Link oeffnet den Warenkorb der Website mit genau diesen Positionen. Bestellen und bezahlen tut dort ein Mensch. Positionen wie get_price plus upload (aus create_upload) und design. requirements: block = nicht bestellbar (kein checkout_url), warn = Kunde bestaetigt im Warenkorb. Positionen als Liste items, Beispiel: {"items": [{"type": "sheet_cut", "material": "aluminium-almg3", "thickness_mm": 2, "length_mm": 1000, "width_mm": 500, "quantity": 2}], "delivery": {"mode": "shipping", "postal_code": "60314"}} [Zugang: requires login: Scope quotes:write. Aendert Daten: ja (Angebot).]

    mcp-tool

    {
      "type": "object",
      "examples": [
        {
          "items": [
            {
              "type": "sheet_cut",
              "material": "aluminium-almg3",
              "quantity": 2,
              "width_mm": 500,
              "length_mm": 1000,
              "thickness_mm": 2
            }
          ],
          "delivery": {
            "mode": "shipping",
            "postal_code": "60314"
          },
          "operation_key": "angebot-1"
        }
      ],
      "required": [
        "items"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "hem": {
                "enum": [
                  "open",
                  "closed"
                ],
                "type": "string",
                "description": "sheet: Umschlag (Biegung unter 30 Grad) offen mit Spalt oder geschlossen zugedrueckt."
              },
              "cuts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "length_mm",
                    "quantity"
                  ],
                  "properties": {
                    "quantity": {
                      "type": "integer",
                      "maximum": 10000,
                      "minimum": 1
                    },
                    "length_mm": {
                      "type": "number",
                      "maximum": 12000,
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 50,
                "minItems": 1
              },
              "type": {
                "enum": [
                  "sheet_cut",
                  "sheet",
                  "profile",
                  "accessory",
                  "upload",
                  "design",
                  "part_draft"
                ],
                "type": "string",
                "description": "sheet_cut = rechteckiger Blech-Zuschnitt; sheet = Kantteil (Schenkel + Biegungen); profile = Halbzeug-Zuschnitt; accessory = Zubehoer; upload/design = CAD-Teil, part_draft = Entwurf aus configure_part/configure_plate (nur create_quote, mit Anmeldung)"
              },
              "bends": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "angle_deg"
                  ],
                  "properties": {
                    "angle_deg": {
                      "type": "number",
                      "maximum": 180,
                      "exclusiveMinimum": 0
                    },
                    "direction": {
                      "enum": [
                        "up",
                        "down"
                      ],
                      "type": "string"
                    },
                    "inner_radius_mm": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 11,
                "description": "sheet: genau eine Biegung weniger als Schenkel"
              },
              "depth_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet: Laenge der Kantung (zweite Kante)",
                "exclusiveMinimum": 0
              },
              "draft_id": {
                "type": "string",
                "maxLength": 48,
                "description": "part_draft: aus configure_part/configure_plate"
              },
              "material": {
                "type": "string",
                "maxLength": 64,
                "description": "Werkstoff-Code aus find_materials, z. B. 'aluminium-almg3'"
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              },
              "width_mm": {
                "type": "number",
                "maximum": 3000,
                "description": "sheet_cut: Breite (schmalere Seite ab 20 mm, Tafelschere; schmalere Streifen als Laserteil ueber configure_plate)",
                "exclusiveMinimum": 0
              },
              "design_id": {
                "type": "string",
                "maxLength": 40
              },
              "length_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet_cut: Laenge",
                "exclusiveMinimum": 0
              },
              "reference": {
                "type": "string",
                "maxLength": 80,
                "description": "eigene Bezeichnung/Kommission"
              },
              "upload_id": {
                "type": "string",
                "maxLength": 40,
                "description": "upload: aus create_upload"
              },
              "article_nr": {
                "type": "string",
                "maxLength": 32,
                "description": "profile/accessory: art_nr aus find_materials"
              },
              "operations": {
                "type": "array",
                "items": {
                  "enum": [
                    "entgraten"
                  ],
                  "type": "string"
                }
              },
              "segments_mm": {
                "type": "array",
                "items": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "maxItems": 12,
                "minItems": 1,
                "description": "sheet: Schenkellaengen entlang der Kontur"
              },
              "measure_mode": {
                "enum": [
                  "inside",
                  "outside"
                ],
                "type": "string",
                "description": "sheet: Schenkelmasse aussen (outside) oder innen (inside) gemessen. Fehlt es, gilt outside und die Position wird in der Auftragspruefung geklaert."
              },
              "thickness_mm": {
                "type": "number",
                "maximum": 100,
                "exclusiveMinimum": 0
              },
              "visible_side": {
                "enum": [
                  "outside",
                  "inside",
                  "any"
                ],
                "type": "string",
                "description": "sheet: Sichtseite des Kantteils (Pflicht bei Werkstoffen mit Sichtseite: geschliffen, Folie, eloxiert, lackiert, Riffel). Fehlt sie, wird sie in der Auftragspruefung geklaert."
              },
              "hole_operations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "type",
                    "size",
                    "count"
                  ],
                  "properties": {
                    "size": {
                      "type": "string",
                      "pattern": "^[Mm][0-9]{1,2}$"
                    },
                    "type": {
                      "enum": [
                        "gewinde",
                        "senkung"
                      ],
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "maximum": 500,
                      "minimum": 1
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 20,
                "description": "upload/design/part_draft: Gewinde schneiden bzw. Senkungen je Teil (Groessen aus find_hole_operations), z. B. [{type:'gewinde', size:'M6', count:4}]"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50,
          "minItems": 1
        },
        "delivery": {
          "type": "object",
          "required": [],
          "properties": {
            "city": {
              "type": "string",
              "maxLength": 100
            },
            "mode": {
              "enum": [
                "pickup",
                "shipping"
              ],
              "type": "string"
            },
            "postal_code": {
              "type": "string",
              "maxLength": 10,
              "description": "bei shipping Pflicht"
            }
          },
          "additionalProperties": false
        },
        "include_pcf": {
          "type": "boolean",
          "default": true,
          "description": "false = ohne CO2e-Angaben (pcf_kg_co2e, pcf_method)"
        },
        "operation_key": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]*$",
          "maxLength": 64,
          "description": "Wiederholschutz: gleicher Wert beim erneuten Versuch, neuer Wert bei geaenderten Eingaben."
        }
      },
      "additionalProperties": false
    }
    arguments 278 lines
  • get_quote unknown never probed

    Ein frueheres Angebot (jede Fassung) erneut lesen, mit checkout_url. [Zugang: requires login: Scope quotes:read. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_id"
      ],
      "properties": {
        "quote_id": {
          "type": "string",
          "maxLength": 40
        },
        "include_pcf": {
          "type": "boolean",
          "default": true,
          "description": "false = ohne CO2e-Angaben (pcf_kg_co2e, pcf_method)"
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • update_quote_parts unknown never probed

    Mengen aendern, Positionen entfernen (remove) oder ergaenzen (add_items). Ergebnis ist ein NEUES Angebot mit eigener quote_id und supersedes; das alte bleibt unveraendert abrufbar. index = lines[].index des Angebots. [Zugang: requires login: Scope quotes:write. Aendert Daten: ja (neue Angebotsfassung).]

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_id"
      ],
      "properties": {
        "changes": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "index"
            ],
            "properties": {
              "index": {
                "type": "integer",
                "maximum": 49,
                "minimum": 0
              },
              "remove": {
                "type": "boolean"
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              },
              "reference": {
                "type": "string",
                "maxLength": 80
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50
        },
        "delivery": {
          "type": "object",
          "required": [],
          "properties": {
            "city": {
              "type": "string",
              "maxLength": 100
            },
            "mode": {
              "enum": [
                "pickup",
                "shipping"
              ],
              "type": "string"
            },
            "postal_code": {
              "type": "string",
              "maxLength": 10,
              "description": "bei shipping Pflicht"
            }
          },
          "additionalProperties": false
        },
        "quote_id": {
          "type": "string",
          "maxLength": 40
        },
        "add_items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "hem": {
                "enum": [
                  "open",
                  "closed"
                ],
                "type": "string",
                "description": "sheet: Umschlag (Biegung unter 30 Grad) offen mit Spalt oder geschlossen zugedrueckt."
              },
              "cuts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "length_mm",
                    "quantity"
                  ],
                  "properties": {
                    "quantity": {
                      "type": "integer",
                      "maximum": 10000,
                      "minimum": 1
                    },
                    "length_mm": {
                      "type": "number",
                      "maximum": 12000,
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 50,
                "minItems": 1
              },
              "type": {
                "enum": [
                  "sheet_cut",
                  "sheet",
                  "profile",
                  "accessory",
                  "upload",
                  "design",
                  "part_draft"
                ],
                "type": "string",
                "description": "sheet_cut = rechteckiger Blech-Zuschnitt; sheet = Kantteil (Schenkel + Biegungen); profile = Halbzeug-Zuschnitt; accessory = Zubehoer; upload/design = CAD-Teil, part_draft = Entwurf aus configure_part/configure_plate (nur create_quote, mit Anmeldung)"
              },
              "bends": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "angle_deg"
                  ],
                  "properties": {
                    "angle_deg": {
                      "type": "number",
                      "maximum": 180,
                      "exclusiveMinimum": 0
                    },
                    "direction": {
                      "enum": [
                        "up",
                        "down"
                      ],
                      "type": "string"
                    },
                    "inner_radius_mm": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 11,
                "description": "sheet: genau eine Biegung weniger als Schenkel"
              },
              "depth_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet: Laenge der Kantung (zweite Kante)",
                "exclusiveMinimum": 0
              },
              "draft_id": {
                "type": "string",
                "maxLength": 48,
                "description": "part_draft: aus configure_part/configure_plate"
              },
              "material": {
                "type": "string",
                "maxLength": 64,
                "description": "Werkstoff-Code aus find_materials, z. B. 'aluminium-almg3'"
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              },
              "width_mm": {
                "type": "number",
                "maximum": 3000,
                "description": "sheet_cut: Breite (schmalere Seite ab 20 mm, Tafelschere; schmalere Streifen als Laserteil ueber configure_plate)",
                "exclusiveMinimum": 0
              },
              "design_id": {
                "type": "string",
                "maxLength": 40
              },
              "length_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet_cut: Laenge",
                "exclusiveMinimum": 0
              },
              "reference": {
                "type": "string",
                "maxLength": 80,
                "description": "eigene Bezeichnung/Kommission"
              },
              "upload_id": {
                "type": "string",
                "maxLength": 40,
                "description": "upload: aus create_upload"
              },
              "article_nr": {
                "type": "string",
                "maxLength": 32,
                "description": "profile/accessory: art_nr aus find_materials"
              },
              "operations": {
                "type": "array",
                "items": {
                  "enum": [
                    "entgraten"
                  ],
                  "type": "string"
                }
              },
              "segments_mm": {
                "type": "array",
                "items": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "maxItems": 12,
                "minItems": 1,
                "description": "sheet: Schenkellaengen entlang der Kontur"
              },
              "measure_mode": {
                "enum": [
                  "inside",
                  "outside"
                ],
                "type": "string",
                "description": "sheet: Schenkelmasse aussen (outside) oder innen (inside) gemessen. Fehlt es, gilt outside und die Position wird in der Auftragspruefung geklaert."
              },
              "thickness_mm": {
                "type": "number",
                "maximum": 100,
                "exclusiveMinimum": 0
              },
              "visible_side": {
                "enum": [
                  "outside",
                  "inside",
                  "any"
                ],
                "type": "string",
                "description": "sheet: Sichtseite des Kantteils (Pflicht bei Werkstoffen mit Sichtseite: geschliffen, Folie, eloxiert, lackiert, Riffel). Fehlt sie, wird sie in der Auftragspruefung geklaert."
              },
              "hole_operations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "type",
                    "size",
                    "count"
                  ],
                  "properties": {
                    "size": {
                      "type": "string",
                      "pattern": "^[Mm][0-9]{1,2}$"
                    },
                    "type": {
                      "enum": [
                        "gewinde",
                        "senkung"
                      ],
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "maximum": 500,
                      "minimum": 1
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 20,
                "description": "upload/design/part_draft: Gewinde schneiden bzw. Senkungen je Teil (Groessen aus find_hole_operations), z. B. [{type:'gewinde', size:'M6', count:4}]"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50
        },
        "include_pcf": {
          "type": "boolean",
          "default": true,
          "description": "false = ohne CO2e-Angaben (pcf_kg_co2e, pcf_method)"
        },
        "operation_key": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]*$",
          "maxLength": 64,
          "description": "Wiederholschutz: gleicher Wert beim erneuten Versuch, neuer Wert bei geaenderten Eingaben."
        }
      },
      "additionalProperties": false
    }
    arguments 292 lines
  • add_quote_parts unknown never probed

    Stueckliste schrittweise: weitere Positionen (z. B. je hochgeladener Datei) an ein Angebot anhaengen. Ergebnis ist eine neue Fassung mit allen Positionen (supersedes = bisherige quote_id); mit der neuen quote_id weiterarbeiten. [Zugang: requires login: Scope quotes:write. Aendert Daten: ja (neue Angebotsfassung).]

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_id",
        "items"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "hem": {
                "enum": [
                  "open",
                  "closed"
                ],
                "type": "string",
                "description": "sheet: Umschlag (Biegung unter 30 Grad) offen mit Spalt oder geschlossen zugedrueckt."
              },
              "cuts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "length_mm",
                    "quantity"
                  ],
                  "properties": {
                    "quantity": {
                      "type": "integer",
                      "maximum": 10000,
                      "minimum": 1
                    },
                    "length_mm": {
                      "type": "number",
                      "maximum": 12000,
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 50,
                "minItems": 1
              },
              "type": {
                "enum": [
                  "sheet_cut",
                  "sheet",
                  "profile",
                  "accessory",
                  "upload",
                  "design",
                  "part_draft"
                ],
                "type": "string",
                "description": "sheet_cut = rechteckiger Blech-Zuschnitt; sheet = Kantteil (Schenkel + Biegungen); profile = Halbzeug-Zuschnitt; accessory = Zubehoer; upload/design = CAD-Teil, part_draft = Entwurf aus configure_part/configure_plate (nur create_quote, mit Anmeldung)"
              },
              "bends": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "angle_deg"
                  ],
                  "properties": {
                    "angle_deg": {
                      "type": "number",
                      "maximum": 180,
                      "exclusiveMinimum": 0
                    },
                    "direction": {
                      "enum": [
                        "up",
                        "down"
                      ],
                      "type": "string"
                    },
                    "inner_radius_mm": {
                      "type": "number",
                      "maximum": 100,
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 11,
                "description": "sheet: genau eine Biegung weniger als Schenkel"
              },
              "depth_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet: Laenge der Kantung (zweite Kante)",
                "exclusiveMinimum": 0
              },
              "draft_id": {
                "type": "string",
                "maxLength": 48,
                "description": "part_draft: aus configure_part/configure_plate"
              },
              "material": {
                "type": "string",
                "maxLength": 64,
                "description": "Werkstoff-Code aus find_materials, z. B. 'aluminium-almg3'"
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              },
              "width_mm": {
                "type": "number",
                "maximum": 3000,
                "description": "sheet_cut: Breite (schmalere Seite ab 20 mm, Tafelschere; schmalere Streifen als Laserteil ueber configure_plate)",
                "exclusiveMinimum": 0
              },
              "design_id": {
                "type": "string",
                "maxLength": 40
              },
              "length_mm": {
                "type": "number",
                "maximum": 12000,
                "description": "sheet_cut: Laenge",
                "exclusiveMinimum": 0
              },
              "reference": {
                "type": "string",
                "maxLength": 80,
                "description": "eigene Bezeichnung/Kommission"
              },
              "upload_id": {
                "type": "string",
                "maxLength": 40,
                "description": "upload: aus create_upload"
              },
              "article_nr": {
                "type": "string",
                "maxLength": 32,
                "description": "profile/accessory: art_nr aus find_materials"
              },
              "operations": {
                "type": "array",
                "items": {
                  "enum": [
                    "entgraten"
                  ],
                  "type": "string"
                }
              },
              "segments_mm": {
                "type": "array",
                "items": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "maxItems": 12,
                "minItems": 1,
                "description": "sheet: Schenkellaengen entlang der Kontur"
              },
              "measure_mode": {
                "enum": [
                  "inside",
                  "outside"
                ],
                "type": "string",
                "description": "sheet: Schenkelmasse aussen (outside) oder innen (inside) gemessen. Fehlt es, gilt outside und die Position wird in der Auftragspruefung geklaert."
              },
              "thickness_mm": {
                "type": "number",
                "maximum": 100,
                "exclusiveMinimum": 0
              },
              "visible_side": {
                "enum": [
                  "outside",
                  "inside",
                  "any"
                ],
                "type": "string",
                "description": "sheet: Sichtseite des Kantteils (Pflicht bei Werkstoffen mit Sichtseite: geschliffen, Folie, eloxiert, lackiert, Riffel). Fehlt sie, wird sie in der Auftragspruefung geklaert."
              },
              "hole_operations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "type",
                    "size",
                    "count"
                  ],
                  "properties": {
                    "size": {
                      "type": "string",
                      "pattern": "^[Mm][0-9]{1,2}$"
                    },
                    "type": {
                      "enum": [
                        "gewinde",
                        "senkung"
                      ],
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "maximum": 500,
                      "minimum": 1
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 20,
                "description": "upload/design/part_draft: Gewinde schneiden bzw. Senkungen je Teil (Groessen aus find_hole_operations), z. B. [{type:'gewinde', size:'M6', count:4}]"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 25,
          "minItems": 1
        },
        "quote_id": {
          "type": "string",
          "maxLength": 40
        },
        "include_pcf": {
          "type": "boolean",
          "default": true,
          "description": "false = ohne CO2e-Angaben (pcf_kg_co2e, pcf_method)"
        },
        "operation_key": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]*$",
          "maxLength": 64,
          "description": "Wiederholschutz: gleicher Wert beim erneuten Versuch, neuer Wert bei geaenderten Eingaben."
        }
      },
      "additionalProperties": false
    }
    arguments 241 lines
  • list_quotes unknown never probed

    Angebote dieses Zugangs, neueste zuerst: quote_id, Datum, Ablauf, Status, Positionen, Summe, dfm_status, supersedes. Mit offset/limit blaettern. [Zugang: requires login: Scope quotes:read. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • get_link unknown never probed

    Direkter Link fuer den Nutzer: kind 'checkout' (Warenkorb mit den Positionen, auch zum Weitergeben an Kollegen: wer den Link hat, sieht Positionen und Preis und kann bestellen), 'part' (Querschnitt mit Massen) oder 'bending' (Biegeschritte) einer Kantteil-Position (index). [Zugang: requires login: Scope quotes:read. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "enum": [
            "checkout",
            "part",
            "bending"
          ],
          "type": "string"
        },
        "index": {
          "type": "integer",
          "maximum": 49,
          "minimum": 0
        },
        "quote_id": {
          "type": "string",
          "maxLength": 40
        }
      },
      "additionalProperties": false
    }
    arguments 27 lines
  • list_orders unknown never probed

    Bestellungen des angemeldeten Kundenkontos (wie unter /konto): Nummer, Datum, Betrag, Zahl- und Auftragsstatus, Status-Link. Nur mit OAuth-Zustimmung eines Kundenkontos. [Zugang: requires login: OAuth-Zustimmung eines Kundenkontos, Scope orders:read. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1
        }
      },
      "additionalProperties": false
    }
    arguments 12 lines
  • check_order_status unknown never probed

    Status einer Bestellung des angemeldeten Kundenkontos (order_id oder Nummer aus list_orders). Nur mit OAuth-Zustimmung eines Kundenkontos. Hoechstens alle 15 Minuten abfragen. Statt Abfragen: Ereignis-Meldungen order.status_changed ueber POST /v1/webhooks (MVG-API-Key, Scope webhooks:write, signiert). [Zugang: requires login: OAuth-Zustimmung eines Kundenkontos, Scope orders:read. Aendert Daten: nein.]

    mcp-tool

    {
      "type": "object",
      "required": [
        "order_id"
      ],
      "properties": {
        "order_id": {
          "type": "string",
          "maxLength": 80
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • reorder_from_order unknown never probed

    Teile einer frueheren Bestellung des angemeldeten Kundenkontos erneut anbieten (order_id oder Nummer aus list_orders; optional parts mit part_id und quantity). Preise und Fertigbarkeit werden HEUTE neu gerechnet, nie der alte Preis. Ergebnis: Angebot mit checkout_url in den Warenkorb, KEINE Bestellung, bestellt und bezahlt wird im Browser von einem Menschen. Nur mit OAuth-Zustimmung eines Kundenkontos. [Zugang: requires login: OAuth-Zustimmung eines Kundenkontos, Scope orders:read. Aendert Daten: ja (Angebot).]

    mcp-tool

    {
      "type": "object",
      "required": [
        "order_id"
      ],
      "properties": {
        "parts": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "part_id"
            ],
            "properties": {
              "part_id": {
                "type": "string",
                "pattern": "^[0-9a-f]+$",
                "maxLength": 40
              },
              "quantity": {
                "type": "integer",
                "maximum": 10000,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50
        },
        "order_id": {
          "type": "string",
          "maxLength": 80
        },
        "include_pcf": {
          "type": "boolean",
          "default": true,
          "description": "false = ohne CO2e-Angaben (pcf_kg_co2e, pcf_method)"
        },
        "operation_key": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]*$",
          "maxLength": 64,
          "description": "Wiederholschutz: gleicher Wert beim erneuten Versuch, neuer Wert bei geaenderten Eingaben."
        }
      },
      "additionalProperties": false
    }
    arguments 47 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 dee285283da44e1e.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/dee285283da44e1e/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/dee285283da44e1e/badge.svg)](https://brick.blue/agent/dee285283da44e1e?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.