Local MCP server for T-FLEX CAD bridge and Windows GUI fallback control.
Server has 25 tools with explicit schemas and descriptions, but quality is inconsistent. Most tool descriptions are adequate (50-150 chars), but many parameters lack descriptions entirely. Critical gaps: tflex_bridge_call accepts arbitrary args with no guidance; GUI tools (gui_click, gui_hotkey, gui_type_text) have minimal parameter documentation; error handling is absent from descriptions. No output schemas documented. Parameter descriptions exist for some tools (tflex_execute_csharp, tflex_query_model) but are sparse across others. Naming is generally clear (verb_noun pattern), but composition issues exist: tflex_bridge_call is a raw passthrough that bypasses tool-level validation.
Click at absolute screen coordinates or relative coordinates inside a matched window.
Bring a window to foreground by title substring or process name.
Send a Windows Forms SendKeys chord to a matched window, for example ^o, ^s, {ENTER}.
List visible Windows desktop windows, including T-FLEX windows.
Save a screenshot of a window and return the PNG path.
Type plain text into a matched window.
Return information about the active T-FLEX document.
tflex_bridge_call is a raw passthrough with 'args: additionalProperties: true', no validation, no guidance on valid commands, no error recovery hints. Violates pattern:tool-gateway (untrusted input sanitization) and pattern:recovery-guide (error classification).
GUI tools (gui_click, gui_hotkey, gui_type_text) have minimal descriptions (50 chars) and lack parameter guidance. 'keys' parameter in gui_hotkey has no format documentation (Windows Forms SendKeys syntax is mentioned in description but not in param schema). Violates pattern:tool-description and pattern:constrained-input.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does tflex_active_document return? What fields?). Violates pattern:tool (document output schema).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Call a raw command on the T-FLEX in-process bridge plugin over localhost.
Check whether the T-FLEX bridge plugin is running.
Create a local coordinate system by points or by transform.
Create a variable in the active T-FLEX document.
Search and inspect local T-FLEX API documentation, XML docs, examples, and bridge notes.
Compile and execute C# method-body code inside the active T-FLEX document through the bridge plugin.
Export the active T-FLEX document. Formats: step, pdf, variables, copy.
Insert a 3D fragment, optionally fixing one of its LCSs to an assembly LCS.
Launch T-FLEX CAD 17 from the local installation.
List variables in the active T-FLEX document.
Create, list, suppress, or unsuppress T-FLEX mates.
Run a model operation recipe: extrude profile, boolean operation, or rename last operation.
Open a T-FLEX document by path through the bridge plugin.
Query the T-FLEX model: list objects, find objects, list operation faces, list mate targets, or list mates.
Regenerate/rebuild the active T-FLEX document.
Save the active T-FLEX document.
Save the active T-FLEX document to a new path.
Set an existing variable in the active T-FLEX document.
Error handling absent from tool descriptions. No guidance on retryability, user-fixable vs fatal errors, or recovery steps. Violates pattern:recovery-guide and pattern:error-classification.
Destructive tools (tflex_execute_csharp, tflex_save, tflex_save_as, tflex_export) lack confirmation/dry-run patterns. No mention of irreversibility in descriptions. Violates pattern:confirmation-request.