Skip to main content
Glama

vrchat_instance_create

Creates a new VRChat instance for a chosen world, setting access type, region, and options such as age gate or group access. Use it to start public, friends, group, or private sessions.

Instructions

Create a new instance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYes
regionYes
ageGateNo
groupIdNo
ownerIdNo
roleIdsNo
worldIdYes
closedAtNo
hardCloseNo
inviteOnlyNo
displayNameNo
queueEnabledNo
calendarEntryIdNo
contentSettingsNo
groupAccessTypeNo
canRequestInviteNo
playerPersistenceEnabledNo
instancePersistenceEnabledNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
instanceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.15
    • changedInput schema / properties / displayName / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
  2. Changed10 schema fields changedv0.1.13
    • changedInput schema / properties / closedAt / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    • removedInput schema / properties / displayName / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / displayName / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / instancePersistenceEnabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / instancePersistenceEnabled / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedInput schema / properties / ownerId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / ownerId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / playerPersistenceEnabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / playerPersistenceEnabled / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / instance / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "calendarEntryId": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "canRequestInvite": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "capacity": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "displayName": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "full": {
      -        "default": false,
      -        "type": "boolean"
      -      },
      -      "groupAccessType": {
      -        "default": "members",
      -        "enum": [
      -          "members",
      -          "plus",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "hasCapacityForYou": {
      -        "type": "boolean"
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "instanceId": {
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "n_users": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "name": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "photonRegion": {
      -        "enum": [
      -          "eu",
      -          "jp",
      -          "unknown",
      -          "us",
      -          "use",
      -          "usw",
      -          "usx"
      -        ],
      -        "type": "string"
      -      },
      -      "queueEnabled": {
      -        "type": "boolean"
      -      },
      -      "queueSize": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "recommendedCapacity": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "region": {
      -        "enum": [
      -          "eu",
      -          "jp",
      -          "unknown",
      -          "us",
      -          "use",
      -          "usw",
      -          "usx"
      -        ],
      -        "type": "string"
      -      },
      -      "shortName": {
      -        "anyOf": [
      -          {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "tags": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "enum": [
      -          "friends",
      -          "group",
      -          "hidden",
      -          "private",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "userCount": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "worldId": {
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "calendarEntryId": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "canRequestInvite": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "capacity": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "displayName": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "full": {
      +        "default": false,
      +        "type": "boolean"
      +      },
      +      "groupAccessType": {
      +        "default": "members",
      +        "enum": [
      +          "members",
      +          "plus",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "hasCapacityForYou": {
      +        "type": "boolean"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "instanceId": {
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "n_users": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "name": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "photonRegion": {
      +        "enum": [
      +          "eu",
      +          "jp",
      +          "unknown",
      +          "us",
      +          "use",
      +          "usw",
      +          "usx"
      +        ],
      +        "type": "string"
      +      },
      +      "queueEnabled": {
      +        "type": "boolean"
      +      },
      +      "queueSize": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "recommendedCapacity": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "region": {
      +        "enum": [
      +          "eu",
      +          "jp",
      +          "unknown",
      +          "us",
      +          "use",
      +          "usw",
      +          "usx"
      +        ],
      +        "type": "string"
      +      },
      +      "shortName": {
      +        "anyOf": [
      +          {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "tags": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "type": {
      +        "enum": [
      +          "friends",
      +          "group",
      +          "hidden",
      +          "private",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "userCount": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "worldId": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. First observedv0.1.8

TDQS

C2/5.0
Behavior2/5

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

Annotations provide only readOnlyHint=false, so the description carries almost the full behavioral burden. It discloses nothing about required permissions, which world/group must exist, or what side effects creation has; it merely restates the write nature already implied by the annotation.

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

Conciseness2/5

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

It is a single tidy sentence with no wasted words, but this is under-specification rather than true conciseness — the sentence is far too thin for an 18-parameter mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even granting that the output schema covers return values, the definition is inadequate for a complex creation tool: no permissions, no required-field guidance, no option semantics, and no interaction hints with the large parameter surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 18 parameters at 0% schema description coverage, the description is the only possible source of parameter meaning, and it supplies none. Critical enum choices (type, region), the required worldId, and the nested contentSettings object are completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Create a new instance" states a clear verb (create) and resource (instance), but "instance" is left unqualified — nothing indicates these are VRChat world instances nor what an instance comprises. It is understandable in context but adds no distinguishing detail beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites, and never points at an alternative such as vrchat_instance_link_event or the group-instance overview tools. The agent must infer everything from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools