Use when manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Utilizes the Rhino MCP servers (RhinoMCP and golem-rhino-mcp) to create and manipulate 3D models and run Grasshopper graphs.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
This skill file instructs AI agents on how to utilize the McNeel Rhino MCP and GOLEM-3DMCP integrations. It details tool prefixes, API structures, geometry operations, Grasshopper automation, and troubleshooting steps.
The Rhino MCP Platform and GOLEM-3DMCP Server connect AI agents to McNeel Rhino 7/8. This allows natural language-driven 3D CAD modeling, NURBS reconstruction, structural planning, and parametric scripting in Grasshopper.
startup.py) running inside Rhino's Python Script Editor creates a JSON-RPC 2.0 socket server on localhost.| Server | Use for | Fallback when |
|---|---|---|
bdb_rhino_mcp (McNeel router, default version 8) | Primary: Rhino 7/8 modelling and Grasshopper control through the McNeel bridge. | Undocumented. |
bdb_rhino_mcp_fallback (GOLEM-3DMCP, 105 tools) | Scene audit, geometry create/boolean/loft, Grasshopper open/set/recompute/bake, viewport capture, Python execution. | bdb_rhino_mcp is unavailable (pair labelled primary/fallback for redundancy; no other trigger documented). |
scene.get_document_info or scene.list_layers to understand the scale, active units (e.g. millimeters vs. meters), and current hierarchy.OBJECT_NOT_FOUND errors.grasshopper.open_definition before modifying sliders. Always call grasshopper.recompute to update the solver after changing parameter values.GOLEM-3DMCP provides 105 granular tools across multiple categories.
scene.*)scene.get_document_info(): Returns units, tolerance, layer count, and bounding box.scene.list_layers(): Lists all layers, visibility, lock states, and colors.scene.list_objects(object_type: string, layer?: string): Lists objects with optional type filters (point, curve, surface, brep, mesh, subd, annotation).scene.get_object_info(guid: string): Returns precise control points, layer, and metadata.scene.create_layer(name: string, color?: object): Creates layers (nested with :: syntax).create_*)create_box(width: float, depth: float, height: float, corner_x?: float, corner_y?: float, corner_z?: float)create_sphere(radius: float, center_x?: float, center_y?: float, center_z?: float)create_cylinder(radius: float, height: float)create_nurbs_curve(points: list[list[float]], degree?: int)create_polyline(points: list[list[float]], closed?: boolean)create_text(text: string, location: list[float], height: float)operations.* & surfaces.*)operations.boolean_union(guids: list[string]): Unions closed solids.operations.boolean_difference(guid_a: string, guids_b: list[string]): Cuts guids_b from guid_a.operations.offset_curve(curve_id: string, distance: float)operations.fillet_edge(brep_id: string, edge_indices: list[int], radius: float)surfaces.loft(curve_ids: list[string], loft_type?: string)surfaces.sweep1(rail_id: string, shape_ids: list[string])grasshopper.*)grasshopper.open_definition(path: string): Loads a .gh or .ghx definition.grasshopper.get_parameters(): Queries all sliders, panels, and outputs.grasshopper.set_parameter(name_or_id: string, value: any): Modifies sliders or inputs.grasshopper.recompute(): Forces a solution recalculation.grasshopper.get_output_value(name_or_id: string): Reads output component values.scripting.* & viewport.*)scripting.execute_python(code: string): Runs arbitrary Python script utilizing Rhino and rhinoscriptsyntax.viewport.capture_to_file(path: string, width?: int, height?: int): Captures the current view.viewport.set_camera(location: list[float], target: list[float]): Points the camera.Open a Grasshopper file, adjust structural dimensions, and extract the generated geometry:
// Step 1: Load file
// Tool: grasshopper.open_definition(path="/Users/<username>/project/truss.gh")
// Step 2: Modify span and height
// Tool: grasshopper.set_parameter(name_or_id="SpanSlider", value=150.0)
// Tool: grasshopper.set_parameter(name_or_id="HeightSlider", value=22.5)
// Step 3: Recompute solver
// Tool: grasshopper.recompute()
// Step 4: Bake outputs
// Tool: grasshopper.bake_output(name_or_id="TrussGeometry", layer="StructuralTrusses")
To generate custom ribs and loft a skin between them using Python scripting:
# Call tool: scripting.execute_python(code="...")
import rhinoscriptsyntax as rs
import math
curves = []
for i in range(5):
points = []
for j in range(10):
x = i * 20.0
y = j * 10.0
z = math.sin(j * 0.5) * 15.0 + (i * 2.0)
points.append([x, y, z])
# Create curve
crv = rs.AddNurbsCurve(points)
curves.append(crv)
# Loft skin
loft = rs.AddLoftSrf(curves)
rs.ObjectName(loft, "ProceduralNurbsCanopy")
print(f"Lofted canopy created with ID: {loft}")
9876 (TCP socket communication)rhino_plugin/startup.py# Check if server is running on the port
lsof -i :9876
RhinoConnectionError: Cannot connect to Rhino plugin at 127.0.0.1:9876
rhino_plugin/startup.py, and run it. To automate, add it to Options -> RhinoScript -> Startup scripts.GH not available
Grasshopper command in Rhino once, then restart the GOLEM plugin by running:
import rhino_plugin.startup as golem
golem.restart_golem()
RhinoTimeoutError
.mcp.json config:
"env": {
"GOLEM_TIMEOUT": "120"
}
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Use when manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when a hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Reference for how BDB structures autonomous software engineering work — the seven-node dispatcher graph (Architect, TechLead, UI/UX, Engineering, Media/EventTech, Reviewer, Shipping) that /startcycle-graph actually runs. Use when you need the high-level lifecycle framing without inventing your own process.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Tools are how AI agents interact with the world. A well-designed tool is the difference between an agent that works and one that hallucinates, fails silently, or costs 10x more tokens than necessary. This skill covers tool design from schema to error handling.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Harness patterns for coding agents — memory, permissions, context engineering, delegation, skills, hooks, bootstrap.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
agenttrail: live map of a multi-agent build in the browser: which plan component is being worked on, by which agent or harness, what is done and what is stuck. Use when a multi-agent pipeline starts (/startcycle, /startcycle-graph, /teamwork-preview) or after a plan-canvas approve, when the user asks to see what the agents are doing ("live map", "build board", "who is running now"), or by yourself whenever a multi-agent run is under way — no user prompt needed.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.