Skip to main content
Glama

Nitech — heating spare parts and ordering

get_order

Read-onlyIdempotent

Lire une commande privée avec cart_id et cart_access (m1 privé ou p2 permanent). Le numéro seul ne suffit jamais. Reprend la même vérification d’accès que get_payment. Lecture seule : état de commande, paiement serveur, bordereaux et quantités documentées, déclaration de départ, transporteur explicitement renseigné. Un bordereau ne prouve pas la préparation physique ; une déclaration de départ ne prouve pas la livraison. Numéro/lien de suivi absents de ces sources : null et unavailable explicites. Ne rien déduire du paiement sur l’expédition. Ne pas recréer ni repayer en cas d’incertitude.

Input Schema

NameRequiredDescriptionDefault
cart_idYes
cart_accessYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cart_id": {
      -        "maximum": 2147483647,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "observed_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "order": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "state": {
      -            "enum": [
      -              "cart",
      -              "accepted",
      -              "cancelled",
      -              "awaiting_payment",
      -              "unavailable"
      -            ],
      -            "type": "string"
      -          },
      -          "state_code": {
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "state_code",
      -          "state"
      -        ],
      -        "type": "object"
      -      },
      -      "payment": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "accepted_amount": {
      -            "pattern": "^[0-9]+\\.[0-9]{2}$",
      -            "type": "string"
      -          },
      -          "bank_observed_at": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "bank_status": {
      -            "enum": [
      -              "NOT_PREPARED",
      -              "PREPARED",
      -              "INITIAL",
      -              "WAITING_FOR_PAYMENT",
      -              "WAITING_AUTHORISATION",
      -              "WAITING_AUTHORISATION_TO_VALIDATE",
      -              "UNDER_VERIFICATION",
      -              "AUTHORISED_TO_VALIDATE",
      -              "AUTHORISED",
      -              "CAPTURED",
      -              "CAPTURE_FAILED",
      -              "REFUSED",
      -              "ABANDONED",
      -              "CANCELLED",
      -              "EXPIRED",
      -              "SUSPENDED"
      -            ]
      -          },
      -          "business_effects": {
      -            "enum": [
      -              "complete",
      -              "pending",
      -              "not_started"
      -            ]
      -          },
      -          "captured": {
      -            "type": "boolean"
      -          },
      -          "currency": {
      -            "const": "EUR"
      -          },
      -          "notice": {
      -            "type": "string"
      -          },
      -          "payment_method": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "enum": [
      -              null,
      -              "card",
      -              "transfer",
      -              "cheque"
      -            ]
      -          },
      -          "payment_status": {
      -            "enum": [
      -              "not_selected",
      -              "pending",
      -              "awaiting_receipt",
      -              "accepted",
      -              "captured",
      -              "reconciliation_required"
      -            ],
      -            "type": "string"
      -          },
      -          "settlement_received": {
      -            "const": false
      -          },
      -          "status": {
      -            "enum": [
      -              "ok",
      -              "confirmation_required",
      -              "reconciliation_required"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "status",
      -          "bank_status",
      -          "bank_observed_at",
      -          "payment_status",
      -          "payment_method",
      -          "accepted_amount",
      -          "currency",
      -          "captured",
      -          "settlement_received",
      -          "business_effects",
      -          "notice"
      -        ],
      -        "type": "object"
      -      },
      -      "preparation": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "delivery_documents": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "date": {
      -                  "anyOf": [
      -                    {
      -                      "maxLength": 10,
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "reference": {
      -                  "anyOf": [
      -                    {
      -                      "maxLength": 20,
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "reference",
      -                "date"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 99,
      -            "type": "array"
      -          },
      -          "documented_quantity": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "notice": {
      -            "maxLength": 500,
      -            "type": "string"
      -          },
      -          "ordered_quantity": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "status": {
      -            "enum": [
      -              "unavailable",
      -              "partially_documented",
      -              "documented"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "status",
      -          "ordered_quantity",
      -          "documented_quantity",
      -          "delivery_documents",
      -          "notice"
      -        ],
      -        "type": "object"
      -      },
      -      "reference": {
      -        "maxLength": 100,
      -        "type": "string"
      -      },
      -      "schema_version": {
      -        "const": "1.0"
      -      },
      -      "shipment": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "carrier": {
      -            "anyOf": [
      -              {
      -                "const": "GLS"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "delivered_at": {
      -            "type": "null"
      -          },
      -          "departure_record": {
      -            "anyOf": [
      -              {
      -                "maxLength": 500,
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "notice": {
      -            "maxLength": 500,
      -            "type": "string"
      -          },
      -          "status": {
      -            "enum": [
      -              "unavailable",
      -              "departure_recorded"
      -            ],
      -            "type": "string"
      -          },
      -          "tracking_number": {
      -            "type": "null"
      -          },
      -          "tracking_url": {
      -            "type": "null"
      -          }
      -        },
      -        "required": [
      -          "status",
      -          "departure_record",
      -          "carrier",
      -          "tracking_number",
      -          "tracking_url",
      -          "delivered_at",
      -          "notice"
      -        ],
      -        "type": "object"
      -      },
      -      "sources": {
      -        "items": {
      -          "maxLength": 100,
      -          "type": "string"
      -        },
      -        "maxItems": 5,
      -        "minItems": 5,
      -        "type": "array"
      -      },
      -      "status": {
      -        "const": "ok"
      -      },
      -      "unavailable": {
      -        "items": {
      -          "maxLength": 100,
      -          "type": "string"
      -        },
      -        "maxItems": 7,
      -        "type": "array",
      -        "uniqueItems": true
      -      }
      -    },
      -    "required": [
      -      "schema_version",
      -      "status",
      -      "observed_at",
      -      "cart_id",
      -      "reference",
      -      "order",
      -      "payment",
      -      "preparation",
      -      "shipment",
      -      "unavailable",
      -      "sources"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "enum": [
      -              "BACKEND_ACCESS_DENIED",
      -              "INVALID_ARGUMENTS",
      -              "CART_ACCESS_DENIED",
      -              "ORDER_SOURCE_UNAVAILABLE",
      -              "CANONICAL_INVALID",
      -              "CANONICAL_UNAVAILABLE"
      -            ],
      -            "type": "string"
      -          },
      -          "message": {
      -            "maxLength": 500,
      -            "type": "string"
      -          },
      -          "retryable": {
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "retryable"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cart_id": {
      +        "maximum": 2147483647,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "observed_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "order": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "state": {
      +            "enum": [
      +              "cart",
      +              "accepted",
      +              "cancelled",
      +              "awaiting_payment",
      +              "unavailable"
      +            ],
      +            "type": "string"
      +          },
      +          "state_code": {
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "state_code",
      +          "state"
      +        ],
      +        "type": "object"
      +      },
      +      "payment": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "accepted_amount": {
      +            "pattern": "^[0-9]+\\.[0-9]{2}$",
      +            "type": "string"
      +          },
      +          "bank_observed_at": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "bank_status": {
      +            "enum": [
      +              "NOT_PREPARED",
      +              "PREPARED",
      +              "INITIAL",
      +              "WAITING_FOR_PAYMENT",
      +              "WAITING_AUTHORISATION",
      +              "WAITING_AUTHORISATION_TO_VALIDATE",
      +              "UNDER_VERIFICATION",
      +              "AUTHORISED_TO_VALIDATE",
      +              "AUTHORISED",
      +              "CAPTURED",
      +              "CAPTURE_FAILED",
      +              "REFUSED",
      +              "ABANDONED",
      +              "CANCELLED",
      +              "EXPIRED",
      +              "SUSPENDED"
      +            ]
      +          },
      +          "business_effects": {
      +            "enum": [
      +              "complete",
      +              "pending",
      +              "not_started"
      +            ]
      +          },
      +          "captured": {
      +            "type": "boolean"
      +          },
      +          "currency": {
      +            "const": "EUR"
      +          },
      +          "notice": {
      +            "type": "string"
      +          },
      +          "payment_method": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "enum": [
      +              null,
      +              "card",
      +              "transfer",
      +              "cheque"
      +            ]
      +          },
      +          "payment_status": {
      +            "enum": [
      +              "not_selected",
      +              "pending",
      +              "awaiting_receipt",
      +              "accepted",
      +              "captured",
      +              "reconciliation_required"
      +            ],
      +            "type": "string"
      +          },
      +          "settlement_received": {
      +            "const": false
      +          },
      +          "status": {
      +            "enum": [
      +              "ok",
      +              "confirmation_required",
      +              "reconciliation_required"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "bank_status",
      +          "bank_observed_at",
      +          "payment_status",
      +          "payment_method",
      +          "accepted_amount",
      +          "currency",
      +          "captured",
      +          "settlement_received",
      +          "business_effects",
      +          "notice"
      +        ],
      +        "type": "object"
      +      },
      +      "preparation": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "delivery_documents": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "date": {
      +                  "anyOf": [
      +                    {
      +                      "maxLength": 10,
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "reference": {
      +                  "anyOf": [
      +                    {
      +                      "maxLength": 20,
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "reference",
      +                "date"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 99,
      +            "type": "array"
      +          },
      +          "documented_quantity": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "notice": {
      +            "maxLength": 500,
      +            "type": "string"
      +          },
      +          "ordered_quantity": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "status": {
      +            "enum": [
      +              "unavailable",
      +              "partially_documented",
      +              "documented"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "ordered_quantity",
      +          "documented_quantity",
      +          "delivery_documents",
      +          "notice"
      +        ],
      +        "type": "object"
      +      },
      +      "reference": {
      +        "maxLength": 100,
      +        "type": "string"
      +      },
      +      "schema_version": {
      +        "const": "1.0"
      +      },
      +      "shipment": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "carrier": {
      +            "anyOf": [
      +              {
      +                "const": "GLS"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "delivered_at": {
      +            "type": "null"
      +          },
      +          "departure_record": {
      +            "anyOf": [
      +              {
      +                "maxLength": 500,
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "notice": {
      +            "maxLength": 500,
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "unavailable",
      +              "departure_recorded"
      +            ],
      +            "type": "string"
      +          },
      +          "tracking_number": {
      +            "type": "null"
      +          },
      +          "tracking_url": {
      +            "type": "null"
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "departure_record",
      +          "carrier",
      +          "tracking_number",
      +          "tracking_url",
      +          "delivered_at",
      +          "notice"
      +        ],
      +        "type": "object"
      +      },
      +      "sources": {
      +        "items": {
      +          "maxLength": 100,
      +          "type": "string"
      +        },
      +        "maxItems": 5,
      +        "minItems": 5,
      +        "type": "array"
      +      },
      +      "status": {
      +        "const": "ok"
      +      },
      +      "unavailable": {
      +        "items": {
      +          "maxLength": 100,
      +          "type": "string"
      +        },
      +        "maxItems": 7,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "withdrawals": {
      +        "additionalProperties": false,
      +        "description": "Déclarations du journal privé, par réception décroissante. available et liste vide indiquent aucune déclaration trouvée. unavailable indique une lecture indisponible. La mention à traiter est une indication de suivi. Les états de commande, paiement et expédition conservent leurs propres sources.",
      +        "properties": {
      +          "declarations": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "label": {
      +                  "const": "Rétractation reçue — à traiter"
      +                },
      +                "receipt_text": {
      +                  "type": "string"
      +                },
      +                "received_at": {
      +                  "format": "date-time",
      +                  "type": "string"
      +                },
      +                "reference": {
      +                  "pattern": "^RET-[a-f0-9]{32}$",
      +                  "type": "string"
      +                },
      +                "scope": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "reference",
      +                "received_at",
      +                "scope",
      +                "label",
      +                "receipt_text"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 10,
      +            "type": "array"
      +          },
      +          "has_more": {
      +            "type": "boolean"
      +          },
      +          "status": {
      +            "enum": [
      +              "available",
      +              "unavailable"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "declarations",
      +          "has_more"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "schema_version",
      +      "status",
      +      "observed_at",
      +      "cart_id",
      +      "reference",
      +      "order",
      +      "payment",
      +      "preparation",
      +      "shipment",
      +      "unavailable",
      +      "sources"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "enum": [
      +              "BACKEND_ACCESS_DENIED",
      +              "INVALID_ARGUMENTS",
      +              "CART_ACCESS_DENIED",
      +              "ORDER_SOURCE_UNAVAILABLE",
      +              "CANONICAL_INVALID",
      +              "CANONICAL_UNAVAILABLE"
      +            ],
      +            "type": "string"
      +          },
      +          "message": {
      +            "maxLength": 500,
      +            "type": "string"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "retryable"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes well beyond them: it enumerates what the read can return (order state, server-side payment, documented slips and quantities, departure declaration, explicitly set carrier) and states the epistemics of those sources — a slip does not prove physical preparation, a departure declaration does not prove delivery. It also declares explicit null and 'unavailable' semantics for absent tracking numbers/links, which is real behavioral context an agent cannot get from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the access requirement are front-loaded, and essentially every sentence carries a distinct rule (access form, source epistemics, null semantics, no re-pay). It is dense and slightly run-on, with the constraint sentences chained rather than grouped, but there is little pure filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with a rich output schema and full annotation coverage, the definition supplies the missing access model and interpretation caveats. The main residual gap is that the output schema exists but the description's mapping of sources to fields is informal rather than field-referenced, though nothing critical for correct invocation is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the load, and it does partially: it explains that cart_access is an access credential in one of two forms ('m1 privé ou p2 permanent') and that cart_id alone is never sufficient. It does not explain the integer nature/range of cart_id or the token structure beyond the two modes, leaving some of the 0% coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lire une commande privée') plus the scope constraint that it is private and requires cart_id with cart_access. It explicitly distinguishes itself from a lookup by number alone ('Le numéro seul ne suffit jamais') and anchors itself to a sibling ('la même vérification d'accès que get_payment').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context and explicit anti-patterns: never attempt with only the order number, never re-create or re-pay when uncertain, and do not infer shipping from payment. It does not spell out a positive alternative (e.g. when to prefer get_payment or create_order instead), so it falls short of a full when/when-not/alternatives map.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources