@basicbit/vrchat-mcp 0.1.6 → 0.1.8

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 (56) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE +21 -21
  3. package/README.md +56 -9
  4. package/assets/logo.svg +58 -39
  5. package/dist/bin/cli.js +1 -1
  6. package/dist/bin/cli.js.map +1 -1
  7. package/dist/package.json +5 -3
  8. package/dist/src/cli.js +78 -0
  9. package/dist/src/cli.js.map +1 -0
  10. package/dist/src/config/defaults.json +7 -0
  11. package/dist/src/config/index.js +51 -0
  12. package/dist/src/config/index.js.map +1 -1
  13. package/dist/src/core/client.js +4 -2
  14. package/dist/src/core/client.js.map +1 -1
  15. package/dist/src/core/retry.js +89 -0
  16. package/dist/src/core/retry.js.map +1 -0
  17. package/dist/src/core/writeToolRegistry.js +20 -0
  18. package/dist/src/core/writeToolRegistry.js.map +1 -1
  19. package/dist/src/index.js +66 -22
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/models/events.js +3 -0
  22. package/dist/src/models/events.js.map +1 -1
  23. package/dist/src/models/groups.js +28 -10
  24. package/dist/src/models/groups.js.map +1 -1
  25. package/dist/src/resources/subscriptions.js +21 -8
  26. package/dist/src/resources/subscriptions.js.map +1 -1
  27. package/dist/src/server.js +42 -0
  28. package/dist/src/server.js.map +1 -0
  29. package/dist/src/services/cache.js +7 -0
  30. package/dist/src/services/cache.js.map +1 -1
  31. package/dist/src/services/events/curated.js +37 -3
  32. package/dist/src/services/events/curated.js.map +1 -1
  33. package/dist/src/services/groups/curated.js +7 -50
  34. package/dist/src/services/groups/curated.js.map +1 -1
  35. package/dist/src/services/groups/index.js +1 -0
  36. package/dist/src/services/groups/index.js.map +1 -1
  37. package/dist/src/services/groups/members.js +155 -0
  38. package/dist/src/services/groups/members.js.map +1 -0
  39. package/dist/src/services/groups/roles.js +4 -0
  40. package/dist/src/services/groups/roles.js.map +1 -1
  41. package/dist/src/services/invites/bulk.js +2 -56
  42. package/dist/src/services/invites/bulk.js.map +1 -1
  43. package/dist/src/services/pipeline/handlers.js +4 -4
  44. package/dist/src/services/pipeline/handlers.js.map +1 -1
  45. package/dist/src/tools/curated/events.js +4 -3
  46. package/dist/src/tools/curated/events.js.map +1 -1
  47. package/dist/src/tools/curated/groups.js +3 -2
  48. package/dist/src/tools/curated/groups.js.map +1 -1
  49. package/dist/src/transports/http.js +343 -0
  50. package/dist/src/transports/http.js.map +1 -0
  51. package/docs/architecture.md +5 -1
  52. package/docs/privacy.md +2 -2
  53. package/docs/tools-guide.md +1 -0
  54. package/docs/tools.md +47 -23
  55. package/package.json +5 -3
  56. package/server.json +2 -2
package/docs/tools.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Tool Catalog (generated)
2
2
 
3
- Generated: 2026-05-28T15:11:34.040Z
3
+ Generated: 2026-07-21T08:48:10.759Z
4
4
 
5
5
  Spec: VRChat API Documentation (1.20.7)
6
6
 
@@ -485,7 +485,7 @@ Output schema:
485
485
  ```
486
486
 
487
487
  ### vrchat_event_delete
488
- Delete a group calendar event. (write, destructive)
488
+ Delete a group calendar event after verifying whether the target is an occurrence or series. (write, destructive)
489
489
 
490
490
  Input schema:
491
491
 
@@ -499,11 +499,21 @@ Input schema:
499
499
  },
500
500
  "calendarId": {
501
501
  "type": "string"
502
+ },
503
+ "targetKind": {
504
+ "type": "string",
505
+ "enum": [
506
+ "single_event",
507
+ "occurrence",
508
+ "series"
509
+ ],
510
+ "description": "Required safety check. Use single_event for a non-recurring event, occurrence for a generated recurring occurrence, or series for the recurring parent series."
502
511
  }
503
512
  },
504
513
  "required": [
505
514
  "groupId",
506
- "calendarId"
515
+ "calendarId",
516
+ "targetKind"
507
517
  ],
508
518
  "additionalProperties": false
509
519
  }
@@ -3855,7 +3865,7 @@ Output schema:
3855
3865
  ```
3856
3866
 
3857
3867
  ### vrchat_group_members
3858
- List group members by userId + displayName (read-only). (read-only)
3868
+ List one page of compact group members by default. Use view=all only when a complete, cached snapshot is required (read-only, capped at 10,000). (read-only)
3859
3869
 
3860
3870
  Input schema:
3861
3871
 
@@ -3865,36 +3875,41 @@ Input schema:
3865
3875
  "type": "object",
3866
3876
  "properties": {
3867
3877
  "groupId": {
3868
- "type": "string"
3878
+ "type": "string",
3879
+ "description": "Exact group ID. Provide groupId or shortCode."
3869
3880
  },
3870
3881
  "shortCode": {
3871
- "type": "string"
3882
+ "type": "string",
3883
+ "description": "Exact group short code. Provide groupId or shortCode."
3872
3884
  },
3873
3885
  "roleId": {
3874
- "type": "string"
3886
+ "type": "string",
3887
+ "description": "Only include members with this role."
3875
3888
  },
3876
3889
  "sort": {
3877
- "type": "string"
3878
- },
3879
- "pageSize": {
3880
- "type": "integer",
3881
- "minimum": 1,
3882
- "maximum": 100
3890
+ "type": "string",
3891
+ "description": "VRChat group-member sort expression."
3883
3892
  },
3884
- "maxPages": {
3885
- "type": "integer",
3886
- "minimum": 1,
3887
- "maximum": 200
3893
+ "view": {
3894
+ "description": "page fetches one bounded API page; all explicitly loads and caches a rate-aware snapshot capped at 10,000 members.",
3895
+ "default": "page",
3896
+ "type": "string",
3897
+ "enum": [
3898
+ "page",
3899
+ "all"
3900
+ ]
3888
3901
  },
3889
- "maxItems": {
3902
+ "pageSize": {
3890
3903
  "type": "integer",
3891
3904
  "minimum": 1,
3892
- "maximum": 9007199254740991
3905
+ "maximum": 100,
3906
+ "description": "Members to fetch when view=page. Ignored when view=all."
3893
3907
  },
3894
3908
  "offset": {
3895
3909
  "type": "integer",
3896
3910
  "minimum": 0,
3897
- "maximum": 9007199254740991
3911
+ "maximum": 9007199254740991,
3912
+ "description": "Starting member offset when view=page. Ignored when view=all."
3898
3913
  }
3899
3914
  },
3900
3915
  "additionalProperties": false
@@ -3911,7 +3926,14 @@ Output schema:
3911
3926
  "groupId": {
3912
3927
  "type": "string"
3913
3928
  },
3914
- "totalMembers": {
3929
+ "view": {
3930
+ "type": "string",
3931
+ "enum": [
3932
+ "page",
3933
+ "all"
3934
+ ]
3935
+ },
3936
+ "returnedMembers": {
3915
3937
  "type": "integer",
3916
3938
  "minimum": 0,
3917
3939
  "maximum": 9007199254740991
@@ -3979,9 +4001,11 @@ Output schema:
3979
4001
  },
3980
4002
  "required": [
3981
4003
  "groupId",
3982
- "totalMembers",
4004
+ "view",
4005
+ "returnedMembers",
3983
4006
  "truncated",
3984
- "stale"
4007
+ "stale",
4008
+ "members"
3985
4009
  ],
3986
4010
  "additionalProperties": false
3987
4011
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basicbit/vrchat-mcp",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
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",
@@ -88,7 +88,8 @@
88
88
  "@apidevtools/json-schema-ref-parser": "^15.3.5",
89
89
  "@eslint/js": "^10.0.1",
90
90
  "@types/better-sqlite3": "^7.6.13",
91
- "@types/node": "^25.0.3",
91
+ "@types/express": "^5.0.6",
92
+ "@types/node": "^25.9.2",
92
93
  "@typescript-eslint/eslint-plugin": "^8.50.0",
93
94
  "@typescript-eslint/parser": "^8.50.0",
94
95
  "@vitest/coverage-v8": "^4.0.16",
@@ -108,9 +109,10 @@
108
109
  "dependencies": {
109
110
  "@modelcontextprotocol/sdk": "^1.29.0",
110
111
  "better-sqlite3": "^12.6.2",
112
+ "express": "^5.2.1",
111
113
  "keytar": "^7.9.0",
112
114
  "tough-cookie": "^6.0.0",
113
- "undici": "^8.2.0",
115
+ "undici": "^8.4.0",
114
116
  "yaml": "^2.8.4",
115
117
  "zod": "^4.2.1"
116
118
  }
package/server.json CHANGED
@@ -8,12 +8,12 @@
8
8
  "source": "github",
9
9
  "id": "1122295987"
10
10
  },
11
- "version": "0.1.6",
11
+ "version": "0.1.8",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "identifier": "@basicbit/vrchat-mcp",
16
- "version": "0.1.6",
16
+ "version": "0.1.8",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  },