Skip to main content
Glama

Xem Studio: Part Dimensions & CAD

Request an object the library lacks

request_object

File a request for an object that is not in the library so it can be added; it is the only tool here that writes anything. Use it only after find_geometry and find_by_dimensions found nothing suitable; do not use it to ask questions or to request changes to existing objects. Each call stores exactly one new request in the owner's private inbox and nothing is published, so calling twice files two requests. Stored: the text, the optional contact, the time and the client type; no IP address. There is no reply unless a contact is given. The site accepts at most 300 requests a day across all callers; beyond that the call returns an error and nothing is stored.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "text": "<text>"
    },
    "name": "request_object"
  }
}

Input Schema

NameRequiredDescriptionDefault
textYesPlain description: exact model or part number if known, what it must fit or mate with, which features matter, and any sizes already known.
contactNoEmail or handle for a reply; include only if the person asked to be contacted.

Output Schema

NameRequiredDescriptionDefault
okYesTrue when the request was stored.
messageNoWhat happens next.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / contact / description
      Previous value: -"Optional email or handle for a reply; include only if the person asks to be contacted."New value: +"Email or handle for a reply; include only if the person asked to be contacted."
    • addedInput schema / properties / contact / maxLength
      Added value: +200
    • changedInput schema / properties / text / description
      Previous value: -"Plain description: exact model or part number if known, what it must fit or mate with, which features matter, and any sizes already known. 3 to 4000 characters."New value: +"Plain description: exact model or part number if known, what it must fit or mate with, which features matter, and any sizes already known."
    • addedInput schema / properties / text / maxLength
      Added value: +4000
    • addedInput schema / properties / text / minLength
      Added value: +3
    • removedOutput schema / properties / id
      Removed value: -{
      -  "type": "integer"
      -}
    • addedOutput schema / properties / message / description
      Added value: +"What happens next."
    • addedOutput schema / properties / ok / description
      Added value: +"True when the request was stored."
  2. Changed3 schema fields changed
    • changedInput schema / properties / contact / description
      Previous value: -"Optional: an email or handle the person chose to share for a reply. Leave empty unless they ask."New value: +"Optional email or handle for a reply; include only if the person asks to be contacted."
    • changedInput schema / properties / text / description
      Previous value: -"What is needed and why, e.g. 'Garmin Edge 840 bike computer quarter-turn mount; need the exact tab geometry to print a stem mount'"New value: +"Plain description: exact model or part number if known, what it must fit or mate with, which features matter, and any sizes already known. 3 to 4000 characters."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "id": {
      +      "type": "integer"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "ok"
      +  ],
      +  "type": "object"
      +}
  3. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare non-read-only, non-idempotent, non-destructive, but the description adds far more: one stored record per call in a private inbox, nothing published, duplicate calls create duplicate requests, exactly what fields are persisted (and that no IP is recorded), reply behavior, and a 300/day rate limit that errors without storing. This is rich behavioral context an agent cannot get from the annotations.

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 is front-loaded, then usage routing, then side effects and limits; every sentence carries distinct information. It is dense rather than padded, though the storage-detail sentence is long and could be tightened slightly.

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

Completeness5/5

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

With only two parameters, full schema coverage, a non-idempotent write annotation, and an output schema handling returns, the description covers the remaining gaps: side effects, visibility of the data, duplicate behavior, and rate limits. An agent has everything needed to call it correctly.

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 coverage is 100%, so the baseline is 3; the description adds meaning beyond the schema by tying the optional contact to reply behavior ("There is no reply unless a contact is given") and by enumerating what is stored alongside the text. It does not elaborate on the text field's content expectations, but the schema already does.

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 ("File a request for an object that is not in the library") and immediately distinguishes itself from the whole sibling set by noting it is the only write tool and that find_geometry/find_by_dimensions are the read-side alternatives.

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

Usage Guidelines5/5

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

Gives explicit preconditions ("only after find_geometry and find_by_dimensions found nothing suitable") and explicit exclusions ("do not use it to ask questions or to request changes to existing objects"), naming the siblings by name. Nothing is left to inference.

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