← Back to search

Furniture Designer

LuisEnVilla Scanned 25d ago

Professional furniture design: specs, validation, cut optimization, BOM, and 3D reports.

C
72.5 / 100

Versions

0.1.3latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 25

get_standards
annotations: none low

Get ergonomic standards for a furniture type. Args: furniture_type: One of: kitchen_base, kitchen_wall, closet, bookshelf, desk, vanity, general brief: If true, return a compact summary instead of full JSON (saves tokens). Returns: Ergonomic standards (heights, depths, clearances) for the given type.

ctx Context brief bool furniture_type str
get_material_specs
annotations: none low

Get technical specifications for a material. Args: material: One of: mdf_15, mdf_18, melamine_16, melamine_18, plywood_18, solid_pine_20 brief: If true, return a compact summary instead of full JSON (saves tokens). Returns: Material properties: max unsupported span, available thicknesses, standard sheet sizes, edge banding options.

ctx Context brief bool material str
get_structural_rules
annotations: none low

Get all structural rules for furniture design. Args: brief: If true, return a compact summary instead of full JSON (saves tokens). Returns: List of rules covering reinforcement, back panels, kick plates, shelf supports, vertical dividers, and load-bearing requirements.

ctx Context brief bool
get_hardware_catalog
annotations: none low

Get hardware catalog with selection rules. Args: category: Optional filter — one of: hinges, slides, connectors, shelf_pins. If omitted, returns the full catalog. brief: If true, return a compact summary instead of full JSON (saves tokens). Returns: Hardware specifications with placement rules and quantities.

ctx Context brief bool category string
get_assembly_specs
annotations: none low

Get detailed assembly specifications for furniture construction. Covers joint methods, fastener patterns, adhesive usage, pre-drilling depths, hinge mounting, drawer slide installation, and shelf pin systems. Args: topic: Optional filter — one of: panel_to_panel, back_panel, hinge_mounting, drawer_slide_mounting, shelf_pins, adhesive_guide, pre_drilling. If omitted, returns all topics. brief: If true, return a compact summary instead of full JSON (saves tokens). Returns: Assembly specifications with step-by-step processes, fastener types, and material-specific parameters.

ctx Context brief bool topic string
design_furniture
annotations: none low

Design a complete furniture piece with standards applied. Generates a full specification including all panels, reinforcements, hardware, and assembly order based on ergonomic standards and structural rules. Args: furniture_type: One of: kitchen_base, kitchen_wall, closet, bookshelf, desk, vanity width: Total width in cm height: Total height in cm depth: Total depth in cm material: Material key (default: melamine_16) options: Optional overrides — e.g. {"num_shelves": 3, "has_drawers": true, "door_type": "double", "kickplate_height": 10, "back_type": "full"|"rails"|"none", "sections": [{"content": "hanging"}, {"content": "drawers+hanging", "num_drawers": 3}, {"content": "shelves", "num_shelves": 6}]} Section content types: "shelves", "drawers", "hanging", "drawers+hanging", "drawers+shelves", "empty" compact: If true (default), return a compact summary + full JSON. If false, return only the full pretty-printed JSON. Returns: Complete furniture spec (JSON) with parts list, positions, hardware, and structural notes.

ctx Context depth float width float height float compact bool options string material str furniture_type str
validate_structure
annotations: none low

Validate a furniture spec against structural rules. Checks unsupported spans, required reinforcements, hardware quantities, back panel presence, and stability. Args: spec: A furniture spec as returned by design_furniture. Returns: Validation report with errors (must fix) and warnings (recommended).

ctx Context spec dict
optimize_cuts
annotations: none low

Optimize panel cuts on standard sheets using guillotine algorithm. Args: parts: List of parts — each: {"id": "side_left", "width": 580, "height": 750, "qty": 1, "can_rotate": true, "grain": "length"} Dimensions in mm. Grain options per piece: "length" (grain along width — no rotation), "width" (grain along height — auto-rotates to match sheet), "none" (free rotation). sheet_width: Sheet width in mm (default: 2440 — standard 8ft). Grain runs along this axis on the sheet. sheet_height: Sheet height in mm (default: 1220 — standard 4ft) blade_kerf: Saw blade width in mm (default: 3) grain_direction: Global default grain for pieces without explicit grain. "auto" (default) = use each piece's grain/can_rotate fields. "length" = all pieces have grain along their width. "none" = ignore grain, free rotation. compact: If true (default), return a compact summary + full JSON. If false, return only the full pretty-printed JSON. Returns: Optimization result: sheets used, piece positions, waste percentage, grain arrows, and a text diagram.

ctx Context parts string compact bool blade_kerf float sheet_width float sheet_height float grain_direction str
generate_bom
annotations: none low

Generate a Bill of Materials from a furniture spec. Args: spec: A furniture spec as returned by design_furniture. compact: If true (default), return a compact summary + full JSON. If false, return only the full pretty-printed JSON. Returns: BOM with: panels (name, dimensions, material, edge banding), hardware (type, qty, reference), and summary.

ctx Context spec dict compact bool
get_assembly_steps
annotations: none low

Generate step-by-step assembly instructions for a furniture spec. Args: spec: A furniture spec as returned by design_furniture. compact: If true (default), return a compact summary + full JSON. If false, return only the full pretty-printed JSON. Returns: Ordered list of assembly steps with part references, hardware needed per step, and tips.

ctx Context spec dict compact bool
build_3d_model
annotations: none low

Build the furniture as a 3D model in FreeCAD. Creates Part::Box objects for each panel, positioned and color-coded by role, directly in the running FreeCAD instance via XML-RPC. Args: spec: A furniture spec as returned by design_furniture. doc_name: Name for the FreeCAD document (default: "Furniture"). Returns: Summary of what was built.

ctx Context spec dict doc_name str
build_exploded_view
annotations: none low

Build an exploded assembly view in FreeCAD. Panels are separated along their assembly axis to visualize how the furniture comes together. Executed directly in FreeCAD via XML-RPC. Args: spec: A furniture spec as returned by design_furniture. gap_mm: Gap between exploded parts in mm (default: 50). doc_name: Name for the FreeCAD document (default: "Exploded"). Returns: Summary of what was built.

ctx Context spec dict gap_mm float doc_name str
build_cut_diagram
annotations: none low

Build a cut layout diagram in FreeCAD. Creates a top-down view of each sheet with pieces placed according to the cut optimizer output. Executed directly in FreeCAD via XML-RPC. Args: cut_result: Result from optimize_cuts tool. doc_name: Name for the FreeCAD document (default: "CutLayout"). Returns: Summary of what was built.

ctx Context doc_name str cut_result dict
build_spec
annotations: none low

Build a complete furniture spec from a high-level layout description. This is a convenience tool that eliminates the need to manually calculate mm positions, slide clearances, kickplate offsets, etc. Just describe the furniture in columns and rows. Args: layout: High-level description with columns and rows. Example: { "furniture_type": "closet", "width_cm": 240, "height_cm": 240, "depth_cm": 60, "material": "melamine_16", "kickplate_height_cm": 10, "back_type": "full", "columns": [ { "width_cm": 80, "rows": [ {"type": "hanging_bar", "height_cm": 160}, ] }, { "width_cm": "auto", "rows": [ {"type": "drawers", "count": 3, "drawer_height_mm": 140}, {"type": "hanging_bar", "height_cm": 160}, ] }, { "width_cm": "auto", "rows": [ {"type": "shelves", "count": 6}, ] } ] } Column width_cm can be a number or "auto" (distributes remaining space). Row types: "shelf", "shelves", "drawers", "hanging_bar", "empty". compact: If true (default), return compact summary + full JSON. Returns: Complete furniture spec ready for validate_structure, generate_bom, optimize_cuts, build_3d_model, etc.

ctx Context layout dict compact bool
build_techdraw
annotations: none low

Build a TechDraw technical drawing in FreeCAD. Produces an A3 landscape sheet with three orthographic views (front, top, right side) of the furniture, auto-scaled to fit. Useful for fabrication documentation and client presentations. The script is self-contained — it rebuilds the geometry as a compound, so it does NOT require the 3D model to already exist in FreeCAD. Executed directly in FreeCAD via XML-RPC. Args: spec: A furniture spec as returned by design_furniture. doc_name: Name for the FreeCAD document (default: "TechDraw"). export_svg: If true (default), export the TechDraw page to SVG. export_dir: Directory for SVG export (default: "/tmp"). Returns: Summary of what was built, including SVG path if exported.

ctx Context spec dict doc_name str export_dir str export_svg bool
build_import_script
annotations: none low

Generate a FreeCAD Python script that reads all panels from a document. The script extracts every App::Part (with custom properties) and standalone Part::Box from the specified document, then prints a JSON representation to stdout. Execute the script via freecad-mcp's execute_code, then pass the output to parse_freecad_import to get a usable furniture spec. Workflow: 1. Call build_import_script(doc_name) → get Python script 2. Call mcp__freecad__execute_code(script) → get raw output with JSON 3. Call parse_freecad_import(raw_output) → get furniture spec 4. Use the spec with validate_structure, generate_bom, optimize_cuts, etc. Args: doc_name: Name of the FreeCAD document to read (default: "Furniture"). Returns: Python code to execute in FreeCAD.

ctx Context doc_name str
parse_freecad_import
annotations: none low

Parse the output of the import script into a furniture spec. Takes the raw stdout from executing the import script in FreeCAD and reconstructs a furniture spec with parts, positions, materials, and roles. For panels created by this system (App::Part with custom properties), the reconstruction is exact. For manually created Part::Box objects, roles are inferred from names and geometry. Args: raw_output: The stdout text from executing the import script via freecad-mcp's execute_code tool. Returns: A furniture spec (JSON) compatible with validate_structure, generate_bom, optimize_cuts, build_exploded_view, etc. May include "import_warnings" if any panels needed inference.

ctx Context raw_output str
create_design
annotations: none low

Create a new design project. Sets up a directory with metadata for a new furniture design. Use this before calling update_design_report with a design_id. Args: name: Human-readable name (e.g., "Closet Dormitorio Principal"). furniture_type: One of: kitchen_base, kitchen_wall, closet, bookshelf, desk, vanity. Returns: Design ID, path, and URL (if server is running).

ctx Context name str furniture_type str
list_designs
annotations: none low

List all active furniture designs with metadata. Returns: List of designs with name, type, iteration count, and timestamps.

ctx Context
get_design_context
annotations: none low

Retrieve the full context of a design for resuming work. Returns the latest spec, metadata, and iteration history so the agent can continue from where the user left off. Args: design_id: The design identifier (slug). Returns: Spec JSON + metadata + iteration summary.

ctx Context design_id str
start_design_server
annotations: none low

Start the local HTTP server for serving design reports with live reload. The server provides: - Index page listing all designs at http://localhost:{port}/ - Individual design reports at http://localhost:{port}/{design_id} - WebSocket for live reload at ws://localhost:{port}/ws/{design_id} - JSON spec API at http://localhost:{port}/api/{design_id}/spec Args: port: HTTP port (default: 8432). Falls back to random port if busy. designs_dir: Directory for design files (default: ./designs). Returns: Server URL and status.

ctx Context port int designs_dir str
update_design_report
annotations: none low

Generate or update an interactive HTML design report. Creates a self-contained HTML file with 3D visualization (Three.js), iteration comparison slider, and clickable panels with dimensions. If design_id is provided, uses the DesignStore (recommended for multi-design workflows with live reload). Otherwise falls back to output_path for backward compatibility. Args: spec: A furniture spec as returned by design_furniture. comment: Description of this iteration's changes (e.g. "Added drawer"). iteration_name: Label for this version (e.g. "v2"). Auto-generated if omitted. design_id: Design identifier from create_design. If set, uses DesignStore. output_path: Path for the HTML file. Only used if design_id is not set. Defaults to ./design_report.html. cut_data: Optional cut optimization result from optimize_cuts. Returns: Path to the generated HTML report file and URL if server is running.

ctx Context spec dict comment str cut_data string design_id string output_path string iteration_name str
generate_full_report
annotations: none low

Design furniture and generate a complete report in one step. Runs the full pipeline: design → validate → BOM → cut optimization → assembly instructions → interactive HTML report with all tabs populated. Args: furniture_type: One of: kitchen_base, kitchen_wall, closet, bookshelf, desk, vanity width: Total width in cm height: Total height in cm depth: Total depth in cm material: Material key (default: melamine_16) options: Optional overrides (same as design_furniture options) comment: Description for this iteration iteration_name: Label for this version (auto-generated if omitted) output_path: Path for the HTML file. Defaults to ./design_report.html. Returns: Summary of the full pipeline results and path to the HTML report.

ctx Context depth float width float height float comment str options string material str output_path string furniture_type str iteration_name str
get_section_map
annotations: none low

Get or resolve section labels from a furniture spec. Analyzes dividers in a spec to identify sections (S1, S2, …) with human-readable labels and aliases for natural language resolution. Args: design_id: Load spec from a saved design (alternative to passing spec). spec: JSON string of a furniture spec (alternative to design_id). resolve: Optional natural language text to resolve to a section ID (e.g. "izquierda", "centro", "S2"). Returns: Section map with labels, aliases, boundaries, and parts per section. If resolve is provided, also includes the matched section ID.

ctx Context spec str resolve str design_id str
reload_engine
annotations: none low

Reload all engine modules to pick up code changes during development. Use after modifying engine files (designer.py, cut_optimizer.py, etc.) without restarting the MCP server. Returns: List of reloaded modules.

ctx Context

Permissions 2

network medium
Server uses network capabilities via: aiohttp
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib

Scan Findings 133

low
Tool 'get_standards' has no annotations annotation_checker · 100%
low
Tool 'get_material_specs' has no annotations annotation_checker · 100%
low
Tool 'get_structural_rules' has no annotations annotation_checker · 100%
low
Tool 'get_hardware_catalog' has no annotations annotation_checker · 100%
low
Tool 'get_assembly_specs' has no annotations annotation_checker · 100%
low
Tool 'design_furniture' has no annotations annotation_checker · 100%
low
Tool 'validate_structure' has no annotations annotation_checker · 100%
low
Tool 'optimize_cuts' has no annotations annotation_checker · 100%
low
Tool 'generate_bom' has no annotations annotation_checker · 100%
low
Tool 'get_assembly_steps' has no annotations annotation_checker · 100%
low
Tool 'build_3d_model' has no annotations annotation_checker · 100%
low
Tool 'build_exploded_view' has no annotations annotation_checker · 100%
low
Tool 'build_cut_diagram' has no annotations annotation_checker · 100%
low
Tool 'build_spec' has no annotations annotation_checker · 100%
low
Tool 'build_techdraw' has no annotations annotation_checker · 100%
low
Tool 'build_import_script' has no annotations annotation_checker · 100%
low
Tool 'parse_freecad_import' has no annotations annotation_checker · 100%
low
Tool 'create_design' has no annotations annotation_checker · 100%
low
Tool 'list_designs' has no annotations annotation_checker · 100%
low
Tool 'get_design_context' has no annotations annotation_checker · 100%
low
Tool 'start_design_server' has no annotations annotation_checker · 100%
low
Tool 'update_design_report' has no annotations annotation_checker · 100%
low
Tool 'generate_full_report' has no annotations annotation_checker · 100%
low
Tool 'get_section_map' has no annotations annotation_checker · 100%
low
Tool 'reload_engine' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-2fqr-mr3j-6wp8) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-2vrm-gr82-f7m5) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-3wq7-rqq7-wx6j) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-4fvr-rgm6-gqmc) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-4m7w-qmgq-4wj5) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-54jq-c3m8-4m76) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-5h86-8mv2-jq9f) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-5m98-qgg9-wh84) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-63hf-3vf5-4wqf) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-63hw-fmq6-xxg2) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-69f9-5gxw-wvc2) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-6jhg-hg63-jvvf) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-6mq8-rvhq-8wgg) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-7gpw-8wmc-pm8g) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-8495-4g3g-x7pr) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-8qpw-xqxj-h4r2) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-9548-qrrj-x5pj) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-966j-vmvw-g2g9) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-9x8q-7h8h-wcw9) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-c427-h43c-vf67) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-cq5v-8q36-5273) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-fh55-r93g-j68g) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-g3cq-j2xw-wf74) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-g84x-mcqj-x9qq) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-hcc4-c3v8-rx92) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-hg6j-4rv6-33pg) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-hpj7-wq8m-9hgp) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-jg22-mg44-37j8) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-jj3x-wxrx-4x23) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-m5qp-6w8w-w647) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-m6qw-4cw2-hm4m) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-mfx4-hv73-q22v) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-mq44-7p77-q5h7) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-mqqc-3gqh-h2x8) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-mwh4-6h8g-pg8w) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-p998-jp59-783m) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-w2fm-2cpv-w7v5) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (GHSA-xcgm-r5h9-7989) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2024-24) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2024-26) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1097) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1098) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1099) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1100) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1101) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1102) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1103) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1104) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1105) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1106) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1107) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-1109) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2094) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2095) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2096) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2097) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2098) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2099) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2100) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2101) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2102) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2103) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2104) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2105) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2106) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2107) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2108) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2109) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2110) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2111) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2112) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-2113) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-237) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-3545) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-3546) dependency_analyzer · 95%
medium
Vulnerable dependency: aiohttp@3.9.0 (PYSEC-2026-3547) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: get_standards manifest_parser · 90%
info
Tool: get_material_specs manifest_parser · 90%
info
Tool: get_structural_rules manifest_parser · 90%
info
Tool: get_hardware_catalog manifest_parser · 90%
info
Tool: get_assembly_specs manifest_parser · 90%
info
Tool: design_furniture manifest_parser · 90%
info
Tool: validate_structure manifest_parser · 90%
info
Tool: optimize_cuts manifest_parser · 90%
info
Tool: generate_bom manifest_parser · 90%
info
Tool: get_assembly_steps manifest_parser · 90%
info
Tool: build_3d_model manifest_parser · 90%
info
Tool: build_exploded_view manifest_parser · 90%
info
Tool: build_cut_diagram manifest_parser · 90%
info
Tool: build_spec manifest_parser · 90%
info
Tool: build_techdraw manifest_parser · 90%
info
Tool: build_import_script manifest_parser · 90%
info
Tool: parse_freecad_import manifest_parser · 90%
info
Tool: create_design manifest_parser · 90%
info
Tool: list_designs manifest_parser · 90%
info
Tool: get_design_context manifest_parser · 90%
info
Tool: start_design_server manifest_parser · 90%
info
Tool: update_design_report manifest_parser · 90%
info
Tool: generate_full_report manifest_parser · 90%
info
Tool: get_section_map manifest_parser · 90%
info
Tool: reload_engine manifest_parser · 90%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 80%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%