Skip to content
MCP server

RackArchitect MCP

By italex240

3D/2D Rack-as-Code homelab planner, 5-stage validator, CAD SVG/BOM & watertight STL generator.

Listed on

First seen 28 Oct 2026. One server, whatever directories list it: each directory listing keeps its own page and history.

2
Directories
1 via MCP Toplist
12
Tools
From an anonymous probe
-
ToolBench grade
Not graded by Arcade
1
GitHub stars
From MCP Toplist

Tools

ToolDescriptionBehaviour
connect_cablesConnect or update a batch of power and network cables between mounted device ports in the active rack, computing 3D Catmull-Rom spline paths, commercial cable length bins, and PoE/power DAG budgets. Each item in cables[] upserts by cable_id (replacing any existing cable with the same cable_id), pushes the prior state to the undo stack, and persists to rack.yaml; port, connector, speed, PoE budget, or plug-clearance violations are returned as status 'INVALID' with remediation_suggestions rather than throwing. Endpoint face ('front' or 'rear') is only required on pass-through couplers such as patch panels that expose the same port_id on both faces, and preferred_portal_u only applies when cables traverse between front and rear faces. Use when both endpoint devices are already mounted inside the rack; to remove cables, use disconnect_cables, and to terminate external building/room drops onto the rear of a patch panel, use plan_external_endpoints instead.Changes data
define_custom_blueprintValidate, register, and persist a custom hardware blueprint into the active catalog and local custom-catalog YAML directory so unlisted equipment can be mounted. Expands any port_groups macros into flat ports[], verifies that all local port coordinates lie within chassis dimensions without overlapping, and overwrites any existing custom blueprint sharing the same slug while leaving mounted rack state and the undo stack untouched. Ports may be supplied via explicit ports[], repeating port_groups[], or both, and slots[] is only needed when mount_type is 'modular-carrier'. Use only when search_catalog confirms a device is missing from the catalog; to mount an already registered blueprint into the rack, use mount_equipment instead.Changes data
disconnect_cablesRemove specific cables by cable_id or strip all cables attached to a mounted device or carrier instance_id from the active rack, then re-evaluate PoE/power budgets and plug clearances. Supply cable_ids, instance_id, or both (their union is disconnected, and targeting a modular-carrier also disconnects cables attached to its child sub-modules); calling with neither parameter is rejected with status 'INVALID' without mutating state. Pushes the prior state onto the undo stack, updates rack.yaml atomically, and is idempotent if the targeted cables are already absent. Use when rewiring ports or relieving PoE/port conflicts while keeping devices mounted; to add or replace cables, use connect_cables instead, and to remove the device itself along with its cables, use modify_equipment with action 'remove'.Destructive
export_deliverablesGenerate engineering deliverable files (2D elevation SVG with true 3D Z-Y cutaway, 2-section wiring schematic SVG, Markdown BOM, 3D GLB scene, and parametric OpenSCAD/watertight STL 3D-print models) for the active rack project. In local stdio mode, writes requested formats to output_dir (defaulting to the active rack.yaml directory); on hosted remote MCP servers, streams zero-disk HTTPS download_url links (plus live_viewer_url and rack_yaml_url) without mutating rack state or the undo stack. 'carrier-scad' and 'carrier-stl' emit files for all mounted 3D-printable modular carriers, desktop switch adapter cradles, and designer cover panels. Use as the final step after validate_rack confirms a valid layout; for read-only validation and ASCII elevation inspection without generating export artifacts, use validate_rack instead.Changes data
get_device_blueprintRetrieve the complete hardware specification, millimeter port coordinates, electrical/PoE ratings, and carrier slot geometry for a single catalog blueprint by its exact lowercase kebab-case slug. Repeating port_groups matrices in the blueprint are returned pre-expanded into flat ports[] entries; if the slug does not exist in the built-in or custom catalog, returns status 'INVALID' with a BLUEPRINT_NOT_FOUND issue and candidate slugs without throwing. Use when you already know the target slug and need exact port_id or slot_id values for mount_equipment or connect_cables; to discover unknown slugs by criteria, use search_catalog instead.Read-only
init_rackInitialize a new rack project and destructively reset the active rack.yaml state to an empty enclosure with the specified mechanical width standard, usable U height, and rail depth. Overwrites the current rack configuration and clears all previously mounted devices, child sub-modules, cables, and external endpoints, while pushing the prior project state onto the in-memory undo stack (recoverable via undo_redo). Front door clearance checks apply when enclosure_type has a closed front door, and rail_depth_mm defines the front-to-rear Z mounting span (1U = 44.45mm). Use when starting a new rack design from scratch or changing enclosure dimensions; do not use to inspect the current rack (use validate_rack) or to relocate/remove individual devices in an existing layout (use modify_equipment).Destructive
modify_equipmentMove, rename, or destructively remove an existing mounted device or sub-module instance in the active rack, recalculate all 3D cable splines, and re-run 5-stage validation. Parameter requirements depend on action: 'move' uses u_position/face (or aliases new_u_position/new_face, where primary fields take precedence) for rackmount devices or parent_carrier_id/slot_id for sub-modules; 'rename' uses hostname (or alias new_hostname); 'remove' deletes the target instance (plus any child sub-modules if it is a carrier, and all attached cables and external endpoints when remove_connected_cables is true). Pushes the prior state onto the undo stack and persists the updated rack.yaml atomically, or rejects unknown instance_id values without mutating state. Use to update or delete an already mounted device; to mount a new device instance, use mount_equipment instead, and to remove cables while keeping the device mounted, use disconnect_cables.Destructive
mount_equipmentMount a new hardware device instance onto a rack unit or into a modular carrier slot in the active rack.yaml project and run 5-stage physical and electrical validation. Supply u_position (and optional face) for direct rackmount equipment, or supply both parent_carrier_id and slot_id to place a sub-module inside an already mounted modular-carrier; the two targeting modes are mutually exclusive. Rejects duplicate instance_id values, unknown blueprint_slug values, or missing parent carriers without mutating state, whereas 3D depth/clearance or PoE issues still persist the mount, push the prior state to the undo stack, and return status 'INVALID' with remediation_suggestions. Use to add a new device instance to the rack; to move, rename, or remove an already mounted instance, use modify_equipment instead, and to terminate external room cable drops on a patch panel, use plan_external_endpoints.Changes data
plan_external_endpointsTerminate external building or room cable drops (such as PoE cameras, Wi-Fi APs, and wall LAN outlets) onto the rear ports of a mounted patch panel without consuming rack U slots, and optionally auto-create labeled Cat6A front patch cables to a mounted switch. Use groups[] to batch-generate numbered drops sharing a category, PoE draw, and VLAN, or endpoints[] for individually named drops (both can be combined and allocate sequential free rear ports starting at start_port_number). When clear_existing is true, destructively removes existing external endpoints on patch_panel_instance_id and their front patch cables before allocating; rejects the call without mutating state if the target patch panel or switch is not mounted yet. Use for off-rack building wiring entering the enclosure; do not mount room endpoints as rack devices with mount_equipment, and use connect_cables for purely internal rack-to-rack connections.Destructive
search_catalogSearch and filter the local hardware catalog to discover compatible rackmount devices, 3D-printed modular carriers, and sub-modules before mounting. Call with no arguments to list all blueprints (unpaginated, no result cap), or combine multiple filters with logical AND; 'query' matches substrings case-insensitively across slug, manufacturer, and model, while 'form_factor' (or alias 'mount_type') shorthand values ('10inch', '19inch', '6inch') match both direct rackmount units and modular carriers of that width. To inspect full expanded port coordinates for a known slug, use get_device_blueprint instead; to register unlisted hardware, use define_custom_blueprint.Read-only
undo_redoTraverse the per-project in-memory mutation history (up to 50 snapshots) to revert the most recent rack state change ('undo') or reapply a previously reverted change ('redo'), atomically updating rack.yaml. Any new state-mutating tool call (init_rack, mount_equipment, modify_equipment, connect_cables, disconnect_cables, or plan_external_endpoints) clears the redo stack; calling undo or redo when the corresponding stack is empty is a safe no-op that returns applied=false without throwing. Use to roll back an unintended batch mutation or recover from an accidental init_rack reset; to modify or remove a specific device or cable without reverting intermediate steps, use modify_equipment or disconnect_cables instead.Changes data
validate_rackInspect the active rack.yaml state and run all 5 deterministic validation stages (mechanical bounds, 3D front/rear depth and plug clearances, PoE/power budgets, cable port/speed compatibility, and thermal/center-of-gravity checks) without modifying state. Returns the current ASCII front/rear device elevation plan, power/PoE utilization summary, and all ERROR/WARNING/INFO issues with self-correction remediation_suggestions directly in the response payload (setting status to 'INVALID' when any ERROR exists, without throwing). Use to inspect currently mounted equipment or verify zero errors after mutations and before exporting; to write SVG, BOM, GLB, or 3D-print files to disk, use export_deliverables instead.Read-only

Directory listings

DirectoryListingTierFirst seen
Official MCP RegistryRackArchitect MCP-28 Oct 2026
GlamaListed there according to MCP Toplist’s dataset; not collected by InvokeRank.