Skip to main content
Glama
sandraschi

Robotics MCP Server

vbot_crud

Manage virtual robots in Unity or VRChat by creating, reading, updating, deleting, and listing them with support for multiple robot types including Scout, Go2, G1, and custom models.

Instructions

CRUD operations for virtual robots (vbots).

This tool provides complete lifecycle management for virtual robots:

  • Create: Spawn and register a new virtual robot

  • Read: Get details of an existing virtual robot

  • Update: Modify virtual robot properties (scale, position, metadata, etc.)

  • Delete: Remove and unregister a virtual robot

  • List: List all virtual robots with optional filtering

Supported robot types:

  • "scout": Moorebot Scout (mecanum wheels, indoor)

  • "scout_e": Moorebot Scout E (tracked, waterproof, outdoor)

  • "go2": Unitree Go2 (quadruped)

  • "g1": Unitree G1 (humanoid with arms)

  • "robbie": Robbie from Forbidden Planet (classic sci-fi robot)

  • "custom": Custom robot type (requires model_path)

Args: operation: CRUD operation to perform: - "create": Create/spawn a new virtual robot - "read": Read/get details of an existing virtual robot - "update": Update properties of an existing virtual robot - "delete": Delete/remove a virtual robot - "list": List all virtual robots (optionally filtered) robot_type: Type of robot (required for "create", optional for "list"). Must be one of: "scout", "scout_e", "go2", "g1", "robbie", "custom". robot_id: Virtual robot identifier (required for "read", "update", "delete"). Auto-generated for "create" if not provided. platform: Target platform ("unity" or "vrchat"). Default: "unity". position: Spawn/update position (x, y, z) for "create" or "update". scale: Size multiplier for "create" or "update" (e.g., 1.0 = original size). metadata: Additional metadata dictionary for "create" or "update". model_path: Path to 3D model file (.glb, .fbx, .vrm) for "create" with "custom" robot_type.

Returns: Dictionary containing operation result with robot details.

Examples: Create a Scout vbot: result = await vbot_crud( operation="create", robot_type="scout", platform="unity", position={"x": 0.0, "y": 0.0, "z": 0.0}, scale=1.0 )

Create Robbie from Forbidden Planet:
    result = await vbot_crud(
        operation="create",
        robot_type="robbie",
        platform="unity",
        position={"x": 1.0, "y": 0.0, "z": 1.0},
        scale=1.0
    )

Read vbot details:
    result = await vbot_crud(
        operation="read",
        robot_id="vbot_scout_01"
    )

Update vbot scale and position:
    result = await vbot_crud(
        operation="update",
        robot_id="vbot_scout_01",
        scale=1.5,
        position={"x": 2.0, "y": 0.0, "z": 2.0}
    )

Delete a vbot:
    result = await vbot_crud(
        operation="delete",
        robot_id="vbot_scout_01"
    )

List all vbots:
    result = await vbot_crud(operation="list")

List only Scout vbots:
    result = await vbot_crud(
        operation="list",
        robot_type="scout"
    )

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
operationYes
robot_typeNo
robot_idNo
platformNounity
positionNo
scaleNo
metadataNo
model_pathNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by explaining what each operation does, listing supported robot types, mentioning auto-generation of robot_id for create operations, and providing default values. However, it doesn't mention potential side effects like whether delete is permanent, rate limits, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (overview, operations, supported types, args, returns, examples). While comprehensive, it's somewhat lengthy due to the 8 parameters and multiple examples. Every sentence adds value, but some information could potentially be more condensed.

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?

Given the complexity (8 parameters, 5 operations, multiple robot types) and the fact that annotations are absent while an output schema exists, the description provides excellent completeness. It covers all operations, parameters, supported types, includes examples for every operation, and explains the return format, making it fully adequate for agent understanding.

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?

With 0% schema description coverage, the description fully compensates by explaining every parameter's purpose, when each is required, valid values (including enum values for operation, robot_type, and platform), default values, and format expectations (e.g., position as x,y,z dictionary). The examples further clarify parameter usage.

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 clearly states the tool provides 'complete lifecycle management for virtual robots' and enumerates all five CRUD operations with specific examples of what each does. It distinguishes from siblings by focusing specifically on virtual robot CRUD operations rather than behavior, control, manufacturing, or other aspects.

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 provides clear context about when to use each operation type and which parameters are required for each operation. However, it doesn't explicitly contrast when to use this tool versus the sibling tools (robot_behavior, robot_control, etc.), which would be needed for a perfect score.

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/sandraschi/robotics-mcp'

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