@basicbit/vrchat-mcp 0.1.11 → 0.1.12

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.
package/docs/tools.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Tool Catalog (generated)
2
2
 
3
- Generated: 2026-08-31T20:31:03.518Z
3
+ Generated: 2026-09-01T09:25:52.032Z
4
4
 
5
5
  Spec: VRChat API Documentation (1.20.8)
6
6
 
@@ -3725,6 +3725,125 @@ Output schema:
3725
3725
  }
3726
3726
  ```
3727
3727
 
3728
+ ### vrchat_group_image_upload
3729
+ Upload a static PNG to the signed-in VRChat account gallery for later use by an allowlisted group. This does not attach the image to a group post or event. (write)
3730
+
3731
+ Input schema:
3732
+
3733
+ ```json
3734
+ {
3735
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3736
+ "type": "object",
3737
+ "properties": {
3738
+ "groupId": {
3739
+ "type": "string",
3740
+ "description": "Exact group ID. Provide groupId or shortCode."
3741
+ },
3742
+ "shortCode": {
3743
+ "type": "string",
3744
+ "description": "Exact group short code. Provide groupId or shortCode."
3745
+ },
3746
+ "imagePath": {
3747
+ "type": "string",
3748
+ "minLength": 1,
3749
+ "description": "Absolute path to a static PNG inside uploads.allowedRoots. The image must be 65-2048 pixels per side and no larger than 10 MiB."
3750
+ }
3751
+ },
3752
+ "required": [
3753
+ "imagePath"
3754
+ ],
3755
+ "additionalProperties": false
3756
+ }
3757
+ ```
3758
+
3759
+ Output schema:
3760
+
3761
+ ```json
3762
+ {
3763
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3764
+ "type": "object",
3765
+ "properties": {
3766
+ "status": {
3767
+ "type": "string",
3768
+ "const": "uploaded"
3769
+ },
3770
+ "groupId": {
3771
+ "type": "string"
3772
+ },
3773
+ "fileId": {
3774
+ "type": "string"
3775
+ },
3776
+ "image": {
3777
+ "type": "object",
3778
+ "properties": {
3779
+ "fileName": {
3780
+ "type": "string"
3781
+ },
3782
+ "byteSize": {
3783
+ "type": "integer",
3784
+ "exclusiveMinimum": 0,
3785
+ "maximum": 9007199254740991
3786
+ },
3787
+ "width": {
3788
+ "type": "integer",
3789
+ "minimum": 65,
3790
+ "maximum": 2048
3791
+ },
3792
+ "height": {
3793
+ "type": "integer",
3794
+ "minimum": 65,
3795
+ "maximum": 2048
3796
+ }
3797
+ },
3798
+ "required": [
3799
+ "fileName",
3800
+ "byteSize",
3801
+ "width",
3802
+ "height"
3803
+ ],
3804
+ "additionalProperties": false
3805
+ },
3806
+ "file": {
3807
+ "type": "object",
3808
+ "properties": {
3809
+ "id": {
3810
+ "type": "string"
3811
+ },
3812
+ "name": {
3813
+ "type": "string"
3814
+ },
3815
+ "mimeType": {
3816
+ "type": "string"
3817
+ },
3818
+ "extension": {
3819
+ "type": "string"
3820
+ },
3821
+ "ownerId": {
3822
+ "type": "string"
3823
+ },
3824
+ "version": {
3825
+ "type": "integer",
3826
+ "minimum": -9007199254740991,
3827
+ "maximum": 9007199254740991
3828
+ }
3829
+ },
3830
+ "required": [
3831
+ "id"
3832
+ ],
3833
+ "additionalProperties": false
3834
+ }
3835
+ },
3836
+ "required": [
3837
+ "status",
3838
+ "groupId",
3839
+ "fileId",
3840
+ "image",
3841
+ "file"
3842
+ ],
3843
+ "additionalProperties": false
3844
+ }
3845
+ ```
3846
+
3728
3847
  ### vrchat_group_instances_overview
3729
3848
  Summarize active group instances (read-only). (read-only)
3730
3849
 
@@ -9738,9 +9857,7 @@ Generated output uses a compact envelope; exact API response content is under `d
9738
9857
  - `updateProp` via `vrchat_write` (PUT /props/{propId}) - Write VRChat API: Update Prop.
9739
9858
  - `updateTiliaTos` via `vrchat_write` (PUT /user/{userId}/tilia/tos) - Write VRChat API: Update Tilia TOS Agreement Status.
9740
9859
  - `updateUserNote` via `vrchat_write` (POST /userNotes) - Write VRChat API: Update User Note.
9741
- - `uploadGalleryImage` via `vrchat_write` (POST /gallery) - Write VRChat API: Upload gallery image.
9742
9860
  - `uploadIcon` via `vrchat_write` (POST /icon) - Write VRChat API: Upload icon.
9743
- - `uploadImage` via `vrchat_write` (POST /file/image) - Write VRChat API: Upload gallery image, icon, emoji or sticker.
9744
9861
  - `uploadPrint` via `vrchat_write` (POST /prints) - Write VRChat API: Upload Print.
9745
9862
  - `verify2FA` via `vrchat_write` (POST /auth/twofactorauth/totp/verify) - Write VRChat API: Verify 2FA code.
9746
9863
  - `verify2FAEmailCode` via `vrchat_write` (POST /auth/twofactorauth/emailotp/verify) - Write VRChat API: Verify 2FA email code.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basicbit/vrchat-mcp",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "mcpName": "io.github.BASIC-BIT/vrchat-mcp",
5
5
  "description": "MCP server for VRChat friends, worlds, groups, events, notifications, and VRCX history.",
6
6
  "type": "module",
@@ -111,6 +111,7 @@
111
111
  "@modelcontextprotocol/sdk": "^1.29.0",
112
112
  "better-sqlite3": "^13.0.1",
113
113
  "express": "^5.2.1",
114
+ "fast-png": "^8.0.0",
114
115
  "keytar": "^7.9.0",
115
116
  "tough-cookie": "^6.0.0",
116
117
  "undici": "^8.4.0",
package/server.json CHANGED
@@ -8,12 +8,12 @@
8
8
  "source": "github",
9
9
  "id": "1122295987"
10
10
  },
11
- "version": "0.1.11",
11
+ "version": "0.1.12",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "identifier": "@basicbit/vrchat-mcp",
16
- "version": "0.1.11",
16
+ "version": "0.1.12",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  },
@@ -64,6 +64,13 @@
64
64
  "default": "true",
65
65
  "isRequired": false,
66
66
  "isSecret": false
67
+ },
68
+ {
69
+ "name": "VRCHAT_MCP_UPLOAD_ROOTS",
70
+ "description": "Absolute directories from which local PNG uploads may be read. Separate multiple roots with the platform path delimiter.",
71
+ "format": "string",
72
+ "isRequired": false,
73
+ "isSecret": false
67
74
  }
68
75
  ]
69
76
  }