Skip to main content
Glama
Mfrostbutter

fusion-cad-mcp

by Mfrostbutter

screenshot_compare_with_marker

Take before and after screenshots from a fixed camera to visually compare CAD changes, using a timeline marker to set the 'before' state.

Instructions

Capture before/after screenshots from the same camera by rolling the timeline marker to before_marker_position, screenshotting, restoring the original marker position, and screenshotting again.

Use this to give yourself or the user a clean visual diff of a change you just made — much more convincing than describing the change in words when the geometric delta is subtle. Same camera both shots so the comparison is honest.

Restore semantics: if anything fails after the marker is moved, this tool attempts to roll back to the original position before returning. The restore_marker_failed error indicates the rollback itself failed — in that case the design may be left at an intermediate marker position and the user should manually drag the marker back.

Args: before_marker_position: Timeline marker position to capture as the "before" state. Must be in [0, timeline.count]. Use 0 for the initial empty state, or the index just before a specific feature. direction: One of: current, front, back, bottom, top, left, right, iso-bottom-left/right, iso-top-left/right. Defaults to iso-top-right. width, height: Optional image dimensions in pixels. transparent: PNG transparency. Default True. anti_aliasing: Smooth edges. Default True.

Returns envelope.result = { before_image: {data: , mime_type: "image/png"}, after_image: {data: , mime_type: "image/png"}, before_marker, after_marker, direction }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNo
heightNo
directionNoiso-top-right
transparentNo
anti_aliasingNo
before_marker_positionYes
Behavior5/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It thoroughly explains the sequence of moving the marker, screenshotting, restoring the original position, and screenshotting again. It also discloses rollback semantics, the 'restore_marker_failed' error, and the possibility that the design may be left at an intermediate marker position—critical behavioral nuances.

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 detailed but every sentence earns its place. It is well-structured with purpose, usage, restore semantics, Args, and Returns sections. The content is necessary given the lack of annotations and output schema, and it avoids fluff while staying readable.

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?

The description is remarkably complete for a tool with no annotations and no output schema. It covers the full return envelope, including 'before_image' and 'after_image' as base64 PNGs, plus 'before_marker', 'after_marker', and 'direction'. It also addresses failure/rollback behavior, making the tool safely invocable by an agent.

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?

The input schema has 0% description coverage, but the description's Args section fully compensates. Every parameter is explained with meaning, constraints, defaults, and examples—e.g., 'before_marker_position' includes the valid range [0, timeline.count] and usage guidance. This adds substantial value beyond the raw schema types.

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 opens with a specific action: 'Capture before/after screenshots from the same camera by rolling the timeline marker...' This clearly differentiates it from the sibling 'screenshot' tool and states the exact mechanism. It fully explains what the tool does and why it is distinct.

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 explicitly says when to use the tool: 'to give yourself or the user a clean visual diff of a change you just made' and notes it is more convincing when 'the geometric delta is subtle.' It does not explicitly name alternatives or exclusions, but the context is clear enough to guide selection.

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/Mfrostbutter/fusion-cad-mcp'

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