Skip to main content
Glama
ab7646

fusion-reconstruct-mcp

by ab7646

find_circular_holes

Detect circular holes in flat facets of mesh models, filtering out false positives from rectangular quads. Use for identifying bolt holes or similar circular openings.

Instructions

Detect circular through-holes / blind-hole rims sitting inside a flat facet (e.g. a bolt hole in a plate). Each result is one inner boundary loop of a facet that fits a circle well.

min_loop_points guards against a false positive that is easy to fall into: any rectangle's 4 corners lie exactly on a circle (a rectangle is a cyclic quadrilateral), so a plain 4-sided quad facet can look like a perfect circle fit. Real circular boundaries coming from a tessellated mesh have one segment per tessellation facet (a few dozen, typically), so requiring at least min_loop_points boundary vertices filters out straight-edged quads/triangles while keeping genuine circles.

min_area skips facets too small to contain a min_radius-sized hole before tracing their boundary (the expensive step) - default is 4pimin_radius**2, i.e. a facet at least ~4x the hole's own area. Without this, a mesh with tens of thousands of small tessellation facets (common on any curved/filleted surface) makes this call slow enough to time out an MCP client, since every facet's boundary gets traced regardless of whether it could possibly contain a hole.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
min_areaNo
file_pathYes
min_radiusNo
min_loop_pointsNo
max_circularity_errorNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses the false-positive failure mode (cyclic quadrilaterals) and the performance risk ('slow enough to time out an MCP client') when min_area is not applied, plus the default heuristic 4*pi*min_radius**2. This goes well beyond a generic read-only description, though it does not fully describe the output structure or file requirements.

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

Conciseness5/5

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

The description is front-loaded with the purpose and uses three tight paragraphs, each earning its place: behavior, the false-positive trap, and the performance safeguard. There is no fluff or repetition of schema details.

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?

Given an output schema exists and no annotations, the description covers purpose, false positives, and performance timeout risk, making it largely complete for a detection tool. It misses guidance on max_circularity_error semantics and explicit differentiation from find_circular_faces, but is still robust.

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?

The schema provides no parameter descriptions (0% coverage), so the description compensates substantially for min_loop_points and min_area, explaining the rectangle false-positive trap and the performance rationale. However, max_circularity_error is left unexplained, and min_radius is only implied through the min_area formula, so the compensation is not complete.

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 first sentence specifies the operation ('Detect circular through-holes / blind-hole rims') and the target resource ('sitting inside a flat facet'), and clarifies the result unit as 'one inner boundary loop of a facet that fits a circle well.' This clearly differentiates from sibling find_circular_faces by focusing on holes/rims rather than faces.

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 opening sentence gives clear context for when to use the tool: finding circular holes or blind-hole rims in flat facets. It does not explicitly name alternative tools or state when not to use it, but the parameter discussion (e.g., using min_loop_points to avoid rectangle false positives) provides practical selection guidance.

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/ab7646/fusion-reconstruct-mcp'

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