@basicbit/vrchat-mcp 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -0
  3. package/dist/package.json +2 -1
  4. package/dist/src/auth/index.js +4 -1
  5. package/dist/src/auth/index.js.map +1 -1
  6. package/dist/src/core/client.js +27 -1
  7. package/dist/src/core/client.js.map +1 -1
  8. package/dist/src/core/generatedToolOverrides.js +2 -0
  9. package/dist/src/core/generatedToolOverrides.js.map +1 -1
  10. package/dist/src/core/operationPolicy.js +23 -1
  11. package/dist/src/core/operationPolicy.js.map +1 -1
  12. package/dist/src/generated/vrchat-schemas.js +3 -1
  13. package/dist/src/generated/vrchat-schemas.js.map +1 -1
  14. package/dist/src/models/avatars.js +85 -0
  15. package/dist/src/models/avatars.js.map +1 -1
  16. package/dist/src/models/groups.js +38 -0
  17. package/dist/src/models/groups.js.map +1 -1
  18. package/dist/src/models/instances.js +16 -0
  19. package/dist/src/models/instances.js.map +1 -1
  20. package/dist/src/models/invites.js +31 -2
  21. package/dist/src/models/invites.js.map +1 -1
  22. package/dist/src/models/status.js +4 -2
  23. package/dist/src/models/status.js.map +1 -1
  24. package/dist/src/services/api/client.js +3 -0
  25. package/dist/src/services/api/client.js.map +1 -1
  26. package/dist/src/services/avatars/index.js +166 -1
  27. package/dist/src/services/avatars/index.js.map +1 -1
  28. package/dist/src/services/events/curated.js +16 -10
  29. package/dist/src/services/events/curated.js.map +1 -1
  30. package/dist/src/services/instances/curated.js +76 -1
  31. package/dist/src/services/instances/curated.js.map +1 -1
  32. package/dist/src/services/invites/curated.js +35 -16
  33. package/dist/src/services/invites/curated.js.map +1 -1
  34. package/dist/src/tools/curated/avatars.js +41 -3
  35. package/dist/src/tools/curated/avatars.js.map +1 -1
  36. package/dist/src/tools/curated/groups.js +2 -2
  37. package/dist/src/tools/curated/groups.js.map +1 -1
  38. package/dist/src/tools/curated/instances.js +29 -2
  39. package/dist/src/tools/curated/instances.js.map +1 -1
  40. package/dist/src/tools/curated/invites.js +1 -1
  41. package/dist/src/tools/curated/invites.js.map +1 -1
  42. package/dist/src/tools/raw.js +5 -1
  43. package/dist/src/tools/raw.js.map +1 -1
  44. package/docs/curated-tools.md +14 -0
  45. package/docs/robust-notes.md +9 -1
  46. package/docs/spec-drift.md +104 -0
  47. package/docs/tools.md +339 -215
  48. package/package.json +2 -1
  49. package/server.json +2 -2
package/docs/tools.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Tool Catalog (generated)
2
2
 
3
- Generated: 2026-07-30T16:08:13.535Z
3
+ Generated: 2026-08-31T20:31:03.518Z
4
4
 
5
- Spec: VRChat API Documentation (1.20.7)
5
+ Spec: VRChat API Documentation (1.20.8)
6
6
 
7
7
  This file is generated without starting the MCP server. It reflects curated tools plus the auto-generated tool catalog (curated read/write replacements are omitted).
8
8
 
@@ -102,6 +102,132 @@ Output schema:
102
102
  }
103
103
  ```
104
104
 
105
+ ### vrchat_avatar_update
106
+ Edit your own avatar metadata: name, description, releaseStatus, and content tags. Asset fields (assetUrl, unityPackageUrl, unityVersion, version) are unreachable - a bad value there repoints the avatar at the wrong build with no undo. Content tags: content_sex, content_adult, content_violence, content_gore, content_horror. Tags merge rather than replace, so author tags survive; clearContentTags strips every content_* tag, including ones this build does not know. CAUTION - releaseStatus is risky in BOTH directions; confirm intent before changing it. Going public can expose a creators work against their terms, leak a private avatar, or breach VRChats content policy depending on what the avatar contains. Going private breaks the avatar for everyone currently wearing it. Use dryRun to preview. (write, destructive)
107
+
108
+ Input schema:
109
+
110
+ ```json
111
+ {
112
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
113
+ "type": "object",
114
+ "properties": {
115
+ "avatar": {
116
+ "type": "string",
117
+ "minLength": 1,
118
+ "description": "Avatar to edit: an avtr_ ID, or the exact name of one of your own avatars."
119
+ },
120
+ "name": {
121
+ "description": "New name for the avatar.",
122
+ "type": "string",
123
+ "minLength": 1
124
+ },
125
+ "description": {
126
+ "description": "New description. Pass \"\" to clear it.",
127
+ "type": "string"
128
+ },
129
+ "releaseStatus": {
130
+ "description": "Publication state. Risky in both directions — see the tool description before changing it.",
131
+ "type": "string",
132
+ "enum": [
133
+ "public",
134
+ "private",
135
+ "hidden"
136
+ ]
137
+ },
138
+ "addTags": {
139
+ "description": "Content tags to add. Merged into the existing tags; nothing else is removed.",
140
+ "minItems": 1,
141
+ "type": "array",
142
+ "items": {
143
+ "type": "string",
144
+ "enum": [
145
+ "content_sex",
146
+ "content_adult",
147
+ "content_violence",
148
+ "content_gore",
149
+ "content_horror"
150
+ ]
151
+ }
152
+ },
153
+ "removeTags": {
154
+ "description": "Content tags to remove. Other tags, including author tags, are left alone.",
155
+ "minItems": 1,
156
+ "type": "array",
157
+ "items": {
158
+ "type": "string",
159
+ "enum": [
160
+ "content_sex",
161
+ "content_adult",
162
+ "content_violence",
163
+ "content_gore",
164
+ "content_horror"
165
+ ]
166
+ }
167
+ },
168
+ "clearContentTags": {
169
+ "description": "Remove every content_* tag, including any this build does not know about.",
170
+ "type": "boolean"
171
+ },
172
+ "dryRun": {
173
+ "description": "Compute and return the exact change without writing it.",
174
+ "type": "boolean"
175
+ }
176
+ },
177
+ "required": [
178
+ "avatar"
179
+ ],
180
+ "additionalProperties": false
181
+ }
182
+ ```
183
+
184
+ Output schema:
185
+
186
+ ```json
187
+ {
188
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
189
+ "type": "object",
190
+ "properties": {
191
+ "avatarId": {
192
+ "type": "string"
193
+ },
194
+ "name": {
195
+ "type": "string"
196
+ },
197
+ "dryRun": {
198
+ "type": "boolean"
199
+ },
200
+ "status": {
201
+ "type": "string",
202
+ "enum": [
203
+ "updated",
204
+ "unchanged"
205
+ ]
206
+ },
207
+ "changes": {
208
+ "type": "object",
209
+ "propertyNames": {
210
+ "type": "string"
211
+ },
212
+ "additionalProperties": {}
213
+ },
214
+ "tags": {
215
+ "type": "array",
216
+ "items": {
217
+ "type": "string"
218
+ }
219
+ }
220
+ },
221
+ "required": [
222
+ "avatarId",
223
+ "dryRun",
224
+ "status",
225
+ "tags"
226
+ ],
227
+ "additionalProperties": false
228
+ }
229
+ ```
230
+
105
231
  ### vrchat_boop
106
232
  Send boops to one or many users. Users may be usr_ ids or exact display names. (write)
107
233
 
@@ -4721,6 +4847,8 @@ Output schema:
4721
4847
  "group-default-role-manage",
4722
4848
  "group-galleries-manage",
4723
4849
  "group-instance-age-gated-create",
4850
+ "group-instance-announcement-create",
4851
+ "group-instance-bypass-avatar-performance",
4724
4852
  "group-instance-calendar-link",
4725
4853
  "group-instance-join",
4726
4854
  "group-instance-manage",
@@ -4776,6 +4904,8 @@ Output schema:
4776
4904
  "group-default-role-manage",
4777
4905
  "group-galleries-manage",
4778
4906
  "group-instance-age-gated-create",
4907
+ "group-instance-announcement-create",
4908
+ "group-instance-bypass-avatar-performance",
4779
4909
  "group-instance-calendar-link",
4780
4910
  "group-instance-join",
4781
4911
  "group-instance-manage",
@@ -4825,6 +4955,8 @@ Output schema:
4825
4955
  "group-default-role-manage",
4826
4956
  "group-galleries-manage",
4827
4957
  "group-instance-age-gated-create",
4958
+ "group-instance-announcement-create",
4959
+ "group-instance-bypass-avatar-performance",
4828
4960
  "group-instance-calendar-link",
4829
4961
  "group-instance-join",
4830
4962
  "group-instance-manage",
@@ -4872,221 +5004,98 @@ Input schema:
4872
5004
  ```json
4873
5005
  {
4874
5006
  "$schema": "https://json-schema.org/draft/2020-12/schema",
4875
- "oneOf": [
4876
- {
4877
- "type": "object",
4878
- "properties": {
4879
- "action": {
4880
- "type": "string",
4881
- "const": "assign_member_role"
4882
- },
4883
- "groupId": {
4884
- "type": "string"
4885
- },
4886
- "shortCode": {
4887
- "type": "string"
4888
- },
4889
- "userId": {
4890
- "type": "string"
4891
- },
4892
- "groupRoleId": {
4893
- "type": "string"
4894
- }
4895
- },
4896
- "required": [
4897
- "action",
4898
- "userId",
4899
- "groupRoleId"
4900
- ],
4901
- "additionalProperties": false
5007
+ "type": "object",
5008
+ "properties": {
5009
+ "action": {
5010
+ "type": "string",
5011
+ "enum": [
5012
+ "assign_member_role",
5013
+ "remove_member_role",
5014
+ "create_role",
5015
+ "update_role",
5016
+ "delete_role"
5017
+ ]
4902
5018
  },
4903
- {
4904
- "type": "object",
4905
- "properties": {
4906
- "action": {
4907
- "type": "string",
4908
- "const": "remove_member_role"
4909
- },
4910
- "groupId": {
4911
- "type": "string"
4912
- },
4913
- "shortCode": {
4914
- "type": "string"
4915
- },
4916
- "userId": {
4917
- "type": "string"
4918
- },
4919
- "groupRoleId": {
4920
- "type": "string"
4921
- }
4922
- },
4923
- "required": [
4924
- "action",
4925
- "userId",
4926
- "groupRoleId"
4927
- ],
4928
- "additionalProperties": false
5019
+ "groupId": {
5020
+ "description": "Target group. Provide groupId or shortCode.",
5021
+ "type": "string"
4929
5022
  },
4930
- {
4931
- "type": "object",
4932
- "properties": {
4933
- "name": {
4934
- "type": "string"
4935
- },
4936
- "description": {
4937
- "type": "string"
4938
- },
4939
- "permissions": {
4940
- "type": "array",
4941
- "items": {
4942
- "type": "string",
4943
- "enum": [
4944
- "*",
4945
- "group-announcement-manage",
4946
- "group-audit-view",
4947
- "group-bans-manage",
4948
- "group-calendar-manage",
4949
- "group-data-manage",
4950
- "group-default-role-manage",
4951
- "group-galleries-manage",
4952
- "group-instance-age-gated-create",
4953
- "group-instance-calendar-link",
4954
- "group-instance-join",
4955
- "group-instance-manage",
4956
- "group-instance-moderate",
4957
- "group-instance-open-create",
4958
- "group-instance-plus-create",
4959
- "group-instance-plus-portal",
4960
- "group-instance-plus-portal-unlocked",
4961
- "group-instance-public-create",
4962
- "group-instance-queue-priority",
4963
- "group-instance-restricted-create",
4964
- "group-invites-manage",
4965
- "group-members-manage",
4966
- "group-members-remove",
4967
- "group-members-viewall",
4968
- "group-roles-assign",
4969
- "group-roles-manage"
4970
- ]
4971
- }
4972
- },
4973
- "isSelfAssignable": {
4974
- "type": "boolean"
4975
- },
4976
- "action": {
4977
- "type": "string",
4978
- "const": "create_role"
4979
- },
4980
- "groupId": {
4981
- "type": "string"
4982
- },
4983
- "shortCode": {
4984
- "type": "string"
4985
- },
4986
- "roleId": {
4987
- "type": "string"
4988
- }
4989
- },
4990
- "required": [
4991
- "action"
4992
- ],
4993
- "additionalProperties": false
5023
+ "shortCode": {
5024
+ "description": "Target group short code. Provide groupId or shortCode.",
5025
+ "type": "string"
4994
5026
  },
4995
- {
4996
- "type": "object",
4997
- "properties": {
4998
- "name": {
4999
- "type": "string"
5000
- },
5001
- "description": {
5002
- "type": "string"
5003
- },
5004
- "permissions": {
5005
- "type": "array",
5006
- "items": {
5007
- "type": "string",
5008
- "enum": [
5009
- "*",
5010
- "group-announcement-manage",
5011
- "group-audit-view",
5012
- "group-bans-manage",
5013
- "group-calendar-manage",
5014
- "group-data-manage",
5015
- "group-default-role-manage",
5016
- "group-galleries-manage",
5017
- "group-instance-age-gated-create",
5018
- "group-instance-calendar-link",
5019
- "group-instance-join",
5020
- "group-instance-manage",
5021
- "group-instance-moderate",
5022
- "group-instance-open-create",
5023
- "group-instance-plus-create",
5024
- "group-instance-plus-portal",
5025
- "group-instance-plus-portal-unlocked",
5026
- "group-instance-public-create",
5027
- "group-instance-queue-priority",
5028
- "group-instance-restricted-create",
5029
- "group-invites-manage",
5030
- "group-members-manage",
5031
- "group-members-remove",
5032
- "group-members-viewall",
5033
- "group-roles-assign",
5034
- "group-roles-manage"
5035
- ]
5036
- }
5037
- },
5038
- "isSelfAssignable": {
5039
- "type": "boolean"
5040
- },
5041
- "action": {
5042
- "type": "string",
5043
- "const": "update_role"
5044
- },
5045
- "groupId": {
5046
- "type": "string"
5047
- },
5048
- "shortCode": {
5049
- "type": "string"
5050
- },
5051
- "groupRoleId": {
5052
- "type": "string"
5053
- },
5054
- "order": {
5055
- "type": "integer",
5056
- "minimum": -9007199254740991,
5057
- "maximum": 9007199254740991
5058
- }
5059
- },
5060
- "required": [
5061
- "action",
5062
- "groupRoleId"
5063
- ],
5064
- "additionalProperties": false
5027
+ "userId": {
5028
+ "description": "Member to act on. REQUIRED for assign_member_role and remove_member_role.",
5029
+ "type": "string"
5065
5030
  },
5066
- {
5067
- "type": "object",
5068
- "properties": {
5069
- "action": {
5070
- "type": "string",
5071
- "const": "delete_role"
5072
- },
5073
- "groupId": {
5074
- "type": "string"
5075
- },
5076
- "shortCode": {
5077
- "type": "string"
5078
- },
5079
- "groupRoleId": {
5080
- "type": "string"
5081
- }
5082
- },
5083
- "required": [
5084
- "action",
5085
- "groupRoleId"
5086
- ],
5087
- "additionalProperties": false
5031
+ "groupRoleId": {
5032
+ "description": "Existing role to act on. REQUIRED for assign_member_role, remove_member_role, update_role and delete_role. Not used by create_role.",
5033
+ "type": "string"
5034
+ },
5035
+ "roleId": {
5036
+ "description": "create_role only, and optional there: requests a specific ID for the new role instead of letting VRChat assign one. This is NOT the role being edited — that is groupRoleId.",
5037
+ "type": "string"
5038
+ },
5039
+ "name": {
5040
+ "description": "Role name. Used by create_role and update_role.",
5041
+ "type": "string"
5042
+ },
5043
+ "description": {
5044
+ "description": "Role description. Used by create_role and update_role.",
5045
+ "type": "string"
5046
+ },
5047
+ "permissions": {
5048
+ "description": "Complete permission list for the role, replacing the previous one. Used by create_role and update_role. Note group-members-remove and group-bans-manage each require group-members-manage on the same role.",
5049
+ "type": "array",
5050
+ "items": {
5051
+ "type": "string",
5052
+ "enum": [
5053
+ "*",
5054
+ "group-announcement-manage",
5055
+ "group-audit-view",
5056
+ "group-bans-manage",
5057
+ "group-calendar-manage",
5058
+ "group-data-manage",
5059
+ "group-default-role-manage",
5060
+ "group-galleries-manage",
5061
+ "group-instance-age-gated-create",
5062
+ "group-instance-announcement-create",
5063
+ "group-instance-bypass-avatar-performance",
5064
+ "group-instance-calendar-link",
5065
+ "group-instance-join",
5066
+ "group-instance-manage",
5067
+ "group-instance-moderate",
5068
+ "group-instance-open-create",
5069
+ "group-instance-plus-create",
5070
+ "group-instance-plus-portal",
5071
+ "group-instance-plus-portal-unlocked",
5072
+ "group-instance-public-create",
5073
+ "group-instance-queue-priority",
5074
+ "group-instance-restricted-create",
5075
+ "group-invites-manage",
5076
+ "group-members-manage",
5077
+ "group-members-remove",
5078
+ "group-members-viewall",
5079
+ "group-roles-assign",
5080
+ "group-roles-manage"
5081
+ ]
5082
+ }
5083
+ },
5084
+ "isSelfAssignable": {
5085
+ "description": "Whether members can assign this role to themselves. create_role and update_role.",
5086
+ "type": "boolean"
5087
+ },
5088
+ "order": {
5089
+ "description": "Display order of the role. update_role only.",
5090
+ "type": "integer",
5091
+ "minimum": -9007199254740991,
5092
+ "maximum": 9007199254740991
5088
5093
  }
5089
- ]
5094
+ },
5095
+ "required": [
5096
+ "action"
5097
+ ],
5098
+ "additionalProperties": false
5090
5099
  }
5091
5100
  ```
5092
5101
 
@@ -5148,6 +5157,8 @@ Output schema:
5148
5157
  "group-default-role-manage",
5149
5158
  "group-galleries-manage",
5150
5159
  "group-instance-age-gated-create",
5160
+ "group-instance-announcement-create",
5161
+ "group-instance-bypass-avatar-performance",
5151
5162
  "group-instance-calendar-link",
5152
5163
  "group-instance-join",
5153
5164
  "group-instance-manage",
@@ -5218,6 +5229,8 @@ Output schema:
5218
5229
  "group-default-role-manage",
5219
5230
  "group-galleries-manage",
5220
5231
  "group-instance-age-gated-create",
5232
+ "group-instance-announcement-create",
5233
+ "group-instance-bypass-avatar-performance",
5221
5234
  "group-instance-calendar-link",
5222
5235
  "group-instance-join",
5223
5236
  "group-instance-manage",
@@ -5723,8 +5736,87 @@ Output schema:
5723
5736
  }
5724
5737
  ```
5725
5738
 
5739
+ ### vrchat_instance_link_event
5740
+ Link an allowlisted group instance to its event without notifying. (write)
5741
+
5742
+ Input schema:
5743
+
5744
+ ```json
5745
+ {
5746
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
5747
+ "type": "object",
5748
+ "properties": {
5749
+ "groupId": {
5750
+ "type": "string",
5751
+ "description": "Owning group."
5752
+ },
5753
+ "calendarId": {
5754
+ "type": "string",
5755
+ "description": "Group event."
5756
+ },
5757
+ "worldId": {
5758
+ "type": "string",
5759
+ "description": "Instance world."
5760
+ },
5761
+ "instanceId": {
5762
+ "type": "string",
5763
+ "description": "Bare instance."
5764
+ }
5765
+ },
5766
+ "required": [
5767
+ "groupId",
5768
+ "calendarId",
5769
+ "worldId",
5770
+ "instanceId"
5771
+ ],
5772
+ "additionalProperties": false
5773
+ }
5774
+ ```
5775
+
5776
+ Output schema:
5777
+
5778
+ ```json
5779
+ {
5780
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
5781
+ "type": "object",
5782
+ "properties": {
5783
+ "status": {
5784
+ "type": "string",
5785
+ "enum": [
5786
+ "linked",
5787
+ "already_linked"
5788
+ ]
5789
+ },
5790
+ "groupId": {
5791
+ "type": "string"
5792
+ },
5793
+ "calendarId": {
5794
+ "type": "string"
5795
+ },
5796
+ "eventTitle": {
5797
+ "type": "string"
5798
+ },
5799
+ "location": {
5800
+ "type": "string"
5801
+ },
5802
+ "instanceName": {
5803
+ "type": "string"
5804
+ }
5805
+ },
5806
+ "required": [
5807
+ "status",
5808
+ "groupId",
5809
+ "calendarId",
5810
+ "eventTitle",
5811
+ "location",
5812
+ "instanceName"
5813
+ ],
5814
+ "additionalProperties": false
5815
+ }
5816
+ ```
5817
+
5726
5818
  ### vrchat_invite
5727
- Invite yourself or one/many users to an instance. Users may be usr_ ids or exact display names. Supports here=true, full location, worldId+instanceId, or bare instanceId for user invites. (write)
5819
+ Invite yourself or one/many users to an instance. Users may be usr_ ids or exact display names. Destination is here=true, a full location like "wrld_:instance", or worldId+instanceId. A bare instanceId is not accepted: VRChat needs the worldId and rejects the stripped form. (write)
5728
5820
 
5729
5821
  Input schema:
5730
5822
 
@@ -6026,10 +6118,16 @@ Input schema:
6026
6118
  "userId": {
6027
6119
  "type": "string"
6028
6120
  },
6121
+ "worldId": {
6122
+ "description": "World of the target instance. Pair with instanceId.",
6123
+ "type": "string"
6124
+ },
6029
6125
  "instanceId": {
6126
+ "description": "Instance to invite into. Pair with worldId, or pass the full \"wrld_:instance\" string here. VRChat rejects a bare instance ID on its own.",
6030
6127
  "type": "string"
6031
6128
  },
6032
6129
  "location": {
6130
+ "description": "Full location string like \"wrld_:instance\". Simplest option when you have it.",
6033
6131
  "type": "string"
6034
6132
  },
6035
6133
  "messageSlot": {
@@ -9399,7 +9497,11 @@ Generated output uses a compact envelope; exact API response content is under `d
9399
9497
  - `getCSS` via `vrchat_read` (GET /css/app.css) - Read VRChat API: Download CSS.
9400
9498
  - `getCurrentOnlineUsers` via `vrchat_read` (GET /visits) - Read VRChat API: Current Online Users.
9401
9499
  - `getCurrentSubscriptions` via `vrchat_read` (GET /auth/user/subscription) - Read VRChat API: Get Current Subscriptions.
9500
+ - `getEarningsMetrics` via `vrchat_read` (GET /economy/metrics/earnings) - Read VRChat API: Get Earnings Metrics.
9402
9501
  - `getEconomyAccount` via `vrchat_read` (GET /user/{userId}/economy/account) - Read VRChat API: Get Economy Account.
9502
+ - `getEconomyBalances` via `vrchat_read` (GET /user/{userId}/economy/balances) - Read VRChat API: Get Economy Balances.
9503
+ - `getEconomyPayouts` via `vrchat_read` (GET /user/{userId}/economy/payouts/list) - Read VRChat API: Get Economy Payouts.
9504
+ - `getEconomyPayoutStatus` via `vrchat_read` (GET /user/{userId}/economy/payouts/status) - Read VRChat API: Get Economy Payout Status.
9403
9505
  - `getFeaturedCalendarEvents` via `vrchat_read` (GET /calendar/featured) - Read VRChat API: List featured calendar events.
9404
9506
  - `getFile` via `vrchat_read` (GET /file/{fileId}) - Read VRChat API: Show File.
9405
9507
  - `getFileAnalysis` via `vrchat_read` (GET /analysis/{fileId}/{versionId}) - Read VRChat API: Get File Version Analysis.
@@ -9450,16 +9552,22 @@ Generated output uses a compact envelope; exact API response content is under `d
9450
9552
  - `getPermission` via `vrchat_read` (GET /permissions/{permissionId}) - Read VRChat API: Get Permission.
9451
9553
  - `getPlayerModerations` via `vrchat_read` (GET /auth/user/playermoderations) - Read VRChat API: Search Player Moderations.
9452
9554
  - `getPrint` via `vrchat_read` (GET /prints/{printId}) - Read VRChat API: Get Print.
9555
+ - `getPrivateProfile` via `vrchat_read` (GET /profile/{userId}/private) - Read VRChat API: Get Private Profile.
9453
9556
  - `getProductListing` via `vrchat_read` (GET /listing/{productId}) - Read VRChat API: Get Product Listing.
9454
9557
  - `getProductListingAlternate` via `vrchat_read` (GET /products/{productId}) - Read VRChat API: Get Product Listing (alternate).
9455
9558
  - `getProductListings` via `vrchat_read` (GET /user/{userId}/listings) - Read VRChat API: Get User Product Listings.
9559
+ - `getProductPurchase` via `vrchat_read` (GET /economy/purchases/{productPurchaseId}) - Read VRChat API: Get Product Purchase.
9560
+ - `getProductPurchaseHistory` via `vrchat_read` (GET /user/{userId}/economy/transactions) - Read VRChat API: Get Product Purchase History.
9456
9561
  - `getProductPurchases` via `vrchat_read` (GET /economy/purchases) - Read VRChat API: Get Product Purchases.
9562
+ - `getProductPurchaseStacks` via `vrchat_read` (GET /economy/purchases/{productPurchaseId}/stacks) - Read VRChat API: Get Product Purchase Stacks.
9457
9563
  - `getProp` via `vrchat_read` (GET /props/{propId}) - Read VRChat API: Get Prop.
9458
9564
  - `getPropPublishStatus` via `vrchat_read` (GET /props/{propId}/publish) - Read VRChat API: Get Prop Publish Status.
9565
+ - `getPublicProfile` via `vrchat_read` (GET /profile/{userId}) - Read VRChat API: Get Public Profile.
9459
9566
  - `getRecentLocations` via `vrchat_read` (GET /instances/recent) - Read VRChat API: List Recent Locations.
9460
9567
  - `getRecentSubscription` via `vrchat_read` (GET /user/subscription/recent) - Read VRChat API: Get Recent Subscription.
9461
9568
  - `getRecentWorlds` via `vrchat_read` (GET /worlds/recent) - Read VRChat API: List Recent Worlds.
9462
9569
  - `getRecoveryCodes` via `vrchat_read` (GET /auth/user/twofactorauth/otp) - Read VRChat API: Get 2FA Recovery codes.
9570
+ - `getSellerEligibility` via `vrchat_read` (GET /economy/seller/eligibility) - Read VRChat API: Get Seller Eligibility.
9463
9571
  - `getShortName` via `vrchat_read` (GET /instances/{worldId}:{instanceId}/shortName) - Read VRChat API: Get Instance Short Name.
9464
9572
  - `getSteamTransaction` via `vrchat_read` (GET /Steam/transactions/{transactionId}) - Read VRChat API: Get Steam Transaction.
9465
9573
  - `getSteamTransactions` via `vrchat_read` (GET /Steam/transactions) - Read VRChat API: List Steam Transactions.
@@ -9470,7 +9578,7 @@ Generated output uses a compact envelope; exact API response content is under `d
9470
9578
  - `getTiliaTos` via `vrchat_read` (GET /user/{userId}/tilia/tos) - Read VRChat API: Get Tilia TOS Agreement Status.
9471
9579
  - `getTokenBundles` via `vrchat_read` (GET /tokenBundles) - Read VRChat API: List Token Bundles.
9472
9580
  - `getUserAllGroupPermissions` via `vrchat_read` (GET /users/{userId}/groups/permissions) - Read VRChat API: Get user's permissions for all joined groups.
9473
- - `getUserCreditsEligible` via `vrchat_read` (GET /users/{userId}/credits/eligible) - Read VRChat API: Get User Credits Eligiblity.
9581
+ - `getUserCreditsEligible` via `vrchat_read` (GET /users/{userId}/credits/eligible) - Read VRChat API: Get User Credits Eligibility.
9474
9582
  - `getUserFeedback` via `vrchat_read` (GET /users/{userId}/feedback) - Read VRChat API: Get User Feedback.
9475
9583
  - `getUserGroupInstances` via `vrchat_read` (GET /users/{userId}/instances/groups) - Read VRChat API: Get User Group Instances.
9476
9584
  - `getUserGroupInstancesForGroup` via `vrchat_read` (GET /users/{userId}/instances/groups/{groupId}) - Read VRChat API: Get User Group Instances for a specific Group.
@@ -9480,11 +9588,15 @@ Generated output uses a compact envelope; exact API response content is under `d
9480
9588
  - `getUserNotes` via `vrchat_read` (GET /userNotes) - Read VRChat API: Get User Notes.
9481
9589
  - `getUserPrints` via `vrchat_read` (GET /prints/user/{userId}) - Read VRChat API: Get Own Prints.
9482
9590
  - `getUserRepresentedGroup` via `vrchat_read` (GET /users/{userId}/groups/represented) - Read VRChat API: Get user's current represented group.
9483
- - `getUserSubscriptionEligible` via `vrchat_read` (GET /users/{userId}/subscription/eligible) - Read VRChat API: Get User Subscription Eligiblity.
9591
+ - `getUserSubscriptionEligible` via `vrchat_read` (GET /users/{userId}/subscription/eligible) - Read VRChat API: Get User Subscription Eligibility.
9592
+ - `getUserTiliaKyc` via `vrchat_read` (GET /user/{userId}/tilia/kyc) - Read VRChat API: Get User Tilia KYC.
9593
+ - `getUserTutorialStatus` via `vrchat_read` (GET /users/{userId}/tutorial) - Read VRChat API: Get User Tutorial Status.
9484
9594
  - `getWorldInstance` via `vrchat_read` (GET /worlds/{worldId}/{instanceId}) - Read VRChat API: Get World Instance.
9485
9595
  - `getWorldMetadata` via `vrchat_read` (GET /worlds/{worldId}/metadata) - Read VRChat API: Get World Metadata.
9486
9596
  - `getWorldPublishStatus` via `vrchat_read` (GET /worlds/{worldId}/publish) - Read VRChat API: Get World Publish Status.
9487
9597
  - `listProps` via `vrchat_read` (GET /props) - Read VRChat API: List Props.
9598
+ - `listStores` via `vrchat_read` (GET /economy/stores) - Read VRChat API: List Stores.
9599
+ - `listUserProducts` via `vrchat_read` (GET /user/{userId}/products) - Read VRChat API: List User Products.
9488
9600
  - `searchAvatars` via `vrchat_read` (GET /avatars) - Read VRChat API: Search Avatars.
9489
9601
  - `searchGroupMembers` via `vrchat_read` (GET /groups/{groupId}/members/search) - Read VRChat API: Search Group Members.
9490
9602
  - `searchUsers` via `vrchat_read` (GET /users) - Read VRChat API: Search All Users.
@@ -9564,6 +9676,7 @@ Generated output uses a compact envelope; exact API response content is under `d
9564
9676
  - `acknowledgeNotificationV2` via `vrchat_write` (POST /notifications/{notificationId}/see) - Write VRChat API: Acknowledge NotificationV2.
9565
9677
  - `addGroupGalleryImage` via `vrchat_write` (POST /groups/{groupId}/galleries/{groupGalleryId}/images) - Write VRChat API: Add Group Gallery Image.
9566
9678
  - `addTags` via `vrchat_write` (POST /users/{userId}/addTags) - Write VRChat API: Add User Tags.
9679
+ - `addWorldTags` via `vrchat_write` (POST /worlds/{worldId}/addTags) - Write VRChat API: Add World Tags.
9567
9680
  - `banGroupMember` via `vrchat_write` (POST /groups/{groupId}/bans) - Write VRChat API: Ban Group Member.
9568
9681
  - `blockGroup` via `vrchat_write` (POST /groups/{groupId}/block) - Write VRChat API: Block Group.
9569
9682
  - `clearNotifications` via `vrchat_write` (PUT /auth/user/notifications/clear) - Write VRChat API: Clear All Notifications.
@@ -9573,6 +9686,8 @@ Generated output uses a compact envelope; exact API response content is under `d
9573
9686
  - `createGlobalAvatarModeration` via `vrchat_write` (POST /auth/user/avatarmoderations) - Write VRChat API: Create Global Avatar Moderation.
9574
9687
  - `createGroup` via `vrchat_write` (POST /groups) - Write VRChat API: Create Group.
9575
9688
  - `createGroupGallery` via `vrchat_write` (POST /groups/{groupId}/galleries) - Write VRChat API: Create Group Gallery.
9689
+ - `createProduct` via `vrchat_write` (POST /products) - Write VRChat API: Create Product.
9690
+ - `createProductListingDirect` via `vrchat_write` (POST /listing) - Write VRChat API: Create Product Listing.
9576
9691
  - `createProp` via `vrchat_write` (POST /props) - Write VRChat API: Create Prop.
9577
9692
  - `declineGroupInvite` via `vrchat_write` (PUT /groups/{groupId}/invites) - Write VRChat API: Decline Invite from Group.
9578
9693
  - `deleteNotification` via `vrchat_write` (PUT /auth/user/notifications/{notificationId}/hide) - Write VRChat API: Delete Notification.
@@ -9589,8 +9704,10 @@ Generated output uses a compact envelope; exact API response content is under `d
9589
9704
  - `moderateUser` via `vrchat_write` (POST /auth/user/playermoderations) - Write VRChat API: Moderate User.
9590
9705
  - `publishProp` via `vrchat_write` (PUT /props/{propId}/publish) - Write VRChat API: Publish Prop.
9591
9706
  - `purchaseProductListing` via `vrchat_write` (POST /economy/purchase/listing) - Write VRChat API: Purchase Product Listing.
9707
+ - `redeemReward` via `vrchat_write` (POST /reward/redeem) - Write VRChat API: Redeem Reward.
9592
9708
  - `registerUserAccount` via `vrchat_write` (POST /auth/register) - Write VRChat API: Register User Account.
9593
9709
  - `removeTags` via `vrchat_write` (POST /users/{userId}/removeTags) - Write VRChat API: Remove User Tags.
9710
+ - `removeWorldTags` via `vrchat_write` (POST /worlds/{worldId}/removeTags) - Write VRChat API: Remove World Tags.
9594
9711
  - `replyNotificationV2` via `vrchat_write` (POST /notifications/{notificationId}/reply) - Write VRChat API: Reply NotificationV2.
9595
9712
  - `requestInvite` via `vrchat_write` (POST /requestInvite/{userId}) - Write VRChat API: Request Invite.
9596
9713
  - `resendEmailConfirmation` via `vrchat_write` (POST /auth/user/resendEmail) - Write VRChat API: Resend Email Confirmation.
@@ -9604,6 +9721,7 @@ Generated output uses a compact envelope; exact API response content is under `d
9604
9721
  - `shareInventoryItemDirect` via `vrchat_write` (POST /inventory/cloning/direct) - Write VRChat API: Share Inventory Item Direct.
9605
9722
  - `startFileDataUpload` via `vrchat_write` (PUT /file/{fileId}/{versionId}/{fileType}/start) - Write VRChat API: Start FileData Upload.
9606
9723
  - `submitContentAgreement` via `vrchat_write` (POST /agreement) - Write VRChat API: Submit Content Agreement.
9724
+ - `submitJamContent` via `vrchat_write` (POST /jams/{jamId}/submissions) - Write VRChat API: Submit Jam Content.
9607
9725
  - `submitModerationReport` via `vrchat_write` (POST /moderationReports) - Write VRChat API: Submit Moderation Report.
9608
9726
  - `unmoderateUser` via `vrchat_write` (PUT /auth/user/unplayermoderate) - Write VRChat API: Unmoderate User.
9609
9727
  - `updateAssetReviewNotes` via `vrchat_write` (PUT /assetReview/{assetReviewId}/notes) - Write VRChat API: Update Asset Review Notes.
@@ -9615,6 +9733,8 @@ Generated output uses a compact envelope; exact API response content is under `d
9615
9733
  - `updateGroupRepresentation` via `vrchat_write` (PUT /groups/{groupId}/representation) - Write VRChat API: Update Group Representation.
9616
9734
  - `updateInviteMessage` via `vrchat_write` (PUT /message/{userId}/{messageType}/{slot}) - Write VRChat API: Update Invite Message.
9617
9735
  - `updateOwnInventoryItem` via `vrchat_write` (PUT /inventory/{inventoryItemId}) - Write VRChat API: Update Own Inventory Item.
9736
+ - `updateProduct` via `vrchat_write` (PUT /products/{productId}) - Write VRChat API: Update Product.
9737
+ - `updateProductListingDirect` via `vrchat_write` (PUT /listing/{productId}) - Write VRChat API: Update Product Listing.
9618
9738
  - `updateProp` via `vrchat_write` (PUT /props/{propId}) - Write VRChat API: Update Prop.
9619
9739
  - `updateTiliaTos` via `vrchat_write` (PUT /user/{userId}/tilia/tos) - Write VRChat API: Update Tilia TOS Agreement Status.
9620
9740
  - `updateUserNote` via `vrchat_write` (POST /userNotes) - Write VRChat API: Update User Note.
@@ -9711,12 +9831,16 @@ Generated output uses a compact envelope; exact API response content is under `d
9711
9831
  - `deleteGroupGalleryImage` via `vrchat_delete` (DELETE /groups/{groupId}/galleries/{groupGalleryId}/images/{groupGalleryImageId}) - Write VRChat API: Delete Group Gallery Image.
9712
9832
  - `deleteGroupInvite` via `vrchat_delete` (DELETE /groups/{groupId}/invites/{userId}) - Write VRChat API: Delete User Invite.
9713
9833
  - `deleteImpostor` via `vrchat_delete` (DELETE /avatars/{avatarId}/impostor) - Write VRChat API: Delete generated Impostor.
9834
+ - `deleteJamSubmission` via `vrchat_delete` (DELETE /jams/{jamId}/submissions/{jamSubmissionId}) - Write VRChat API: Delete Jam Submission.
9714
9835
  - `deleteModerationReport` via `vrchat_delete` (DELETE /moderationReports/{moderationReportId}) - Write VRChat API: Delete Moderation Report.
9715
9836
  - `deleteNotificationV2` via `vrchat_delete` (DELETE /notifications/{notificationId}) - Write VRChat API: Delete NotificationV2.
9716
9837
  - `deleteOwnInventoryItem` via `vrchat_delete` (DELETE /inventory/{inventoryItemId}) - Write VRChat API: Delete Own Inventory Item.
9717
9838
  - `deletePrint` via `vrchat_delete` (DELETE /prints/{printId}) - Write VRChat API: Delete Print.
9839
+ - `deleteProduct` via `vrchat_delete` (DELETE /products/{productId}) - Write VRChat API: Delete Product.
9840
+ - `deleteProductListingDirect` via `vrchat_delete` (DELETE /listing/{productId}) - Write VRChat API: Delete Product Listing.
9718
9841
  - `deleteProp` via `vrchat_delete` (DELETE /props/{propId}) - Write VRChat API: Delete Prop.
9719
9842
  - `deleteUserPersistence` via `vrchat_delete` (DELETE /users/{userId}/{worldId}/persist) - Write VRChat API: Delete User Persistence.
9843
+ - `deleteWorldPlatform` via `vrchat_delete` (DELETE /worlds/{worldId}/platform/{publishedPlatform}) - Write VRChat API: Delete World Platform.
9720
9844
  - `disable2FA` via `vrchat_delete` (DELETE /auth/twofactorauth) - Write VRChat API: Disable 2FA.
9721
9845
  - `kickGroupMember` via `vrchat_delete` (DELETE /groups/{groupId}/members/{userId}) - Write VRChat API: Kick Group Member.
9722
9846
  - `resetInviteMessage` via `vrchat_delete` (DELETE /message/{userId}/{messageType}/{slot}) - Write VRChat API: Reset Invite Message.