Skip to main content
Glama

build_l_bracket

Generate an L-shaped bracket with bolt holes on both legs for mounting autoparts. Specify leg lengths, width, thickness, and bolt hole parameters.

Instructions

Soporte / bracket en L — L-shaped autoparts bracket with bolt holes on each leg, in one call.

Junior workflow: "soporte L para fijar el sensor a la carcasa, 50×80×40mm con 2 barrenos M8 en cada cara". Wraps the extrude-L-profile + face-anchored-cut flow into one call. The most-common stamped autopart in the Mexican PYME shop floor.

Composes: create_sketch("front") + 6×create_line -> L-profile extrude_sketch(width) -> L body create_sketch_on_face × 2 + create_circle×N + extrude_cut × 2 -> bolt holes through each leg

Args: leg1_length_mm: Length of the first leg (vertical leg in the standard orientation). Must be > 2×thickness_mm. leg2_length_mm: Length of the second leg (horizontal leg). Must be > 2×thickness_mm. width_mm: Bracket depth (out-of-page in side view). Must be > 0. thickness_mm: Wall thickness — same for both legs. Default 5mm (typical stamped-steel autopart). leg1_bolt_count: Number of bolt holes through leg 1. 0..6. 0 = no bolts on this leg (one-sided bracket). Default 2. leg2_bolt_count: Same for leg 2. Default 2. bolt_hole_diameter_mm: Through-hole diameter for each bolt. Default 8.5mm = ISO 273 medium fit for M8. bolt_hole_inset_mm: Distance from leg edge to first/last bolt center (mm). Default 15. Constraint: 2×inset + bolt_hole_diameter must fit in each leg's length.

Returns dict: body: Feature info for the L-shape extrude (boss_extrude). leg1_bolts: Feature info for the leg-1 cut, or None if leg1_bolt_count=0. leg2_bolts: Feature info for the leg-2 cut, or None if leg2_bolt_count=0. leg1_length_mm, leg2_length_mm, width_mm, thickness_mm, leg1_bolt_count, leg2_bolt_count: echo back the input dimensions for LLM verification.

Geometry (orientation contract): - L-profile in Front plane (XY): leg1 along +Y, leg2 along +X - Inside corner of L at world (thickness, thickness, 0) - Body extruded +Z by width_mm - Outer face of leg 1 = -X face (X=0); bolts drilled in +X - Outer face of leg 2 = -Y face (Y=0); bolts drilled in +Y

Caveat (no inside fillet): the inside corner of the L is sharp. For stress relief, post-process with fillet on the inside-corner edge (use list_edges to find it) — typical R = 1×thickness.

Example — autoparts wall-bracket 60×80mm × 40 wide × 4mm thick, M6 bolts, 2 per leg: build_l_bracket( leg1_length_mm=60, leg2_length_mm=80, width_mm=40, thickness_mm=4, bolt_hole_diameter_mm=6.6, # M6 ISO 273 )

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
width_mmYes
thickness_mmNo
leg1_length_mmYes
leg2_length_mmYes
leg1_bolt_countNo
leg2_bolt_countNo
bolt_hole_inset_mmNo
bolt_hole_diameter_mmNo
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses the orientation contract (L-profile in Front plane, extrusion direction, bolt hole drilling direction), that it creates multiple features, returns a dict with feature info, and a caveat about sharp inside corner. This is highly transparent.

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?

The description is somewhat long but highly structured with sections for Args, Returns, Geometry, Caveat, Example. It is front-loaded with a clear one-liner. Every section adds value, so it earns its length.

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 8 parameters and no output schema, the description covers everything: return dict details, geometry orientation, parameter constraints, a caveat, and an example. It is complete for an agent to invoke the tool correctly.

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

Parameters5/5

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

Schema coverage is 0% (no descriptions in schema). The description adds detailed explanations for each parameter: constraints (e.g., leg lengths must be > 2×thickness), defaults, and meanings (e.g., 0 = no bolts). This compensates fully for the schema 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?

The description clearly states it builds an L-shaped bracket with bolt holes, using specific verbs and resource. It distinguishes from siblings by noting it wraps multiple operations into one call, providing a unique value proposition.

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?

The description provides extensive usage context: typical use case (autoparts bracket), a junior workflow example, physical dimensions, constraints, and an example. It doesn't explicitly state when not to use it, but the context is rich and clear enough for an agent to decide.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielproxd2/MCP_CAD'

If you have feedback or need assistance with the MCP directory API, please join our Discord server