@basicbit/vrchat-mcp 0.1.10 → 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/CHANGELOG.md +15 -0
- package/README.md +3 -0
- package/dist/package.json +2 -1
- package/dist/src/config/defaults.json +3 -0
- package/dist/src/config/index.js +32 -0
- package/dist/src/config/index.js.map +1 -1
- package/dist/src/core/client.js +78 -5
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/generatedToolOverrides.js +2 -0
- package/dist/src/core/generatedToolOverrides.js.map +1 -1
- package/dist/src/core/generatedToolSkips.js +1 -0
- package/dist/src/core/generatedToolSkips.js.map +1 -1
- package/dist/src/core/operationPolicy.js +12 -0
- package/dist/src/core/operationPolicy.js.map +1 -1
- package/dist/src/models/instances.js +16 -0
- package/dist/src/models/instances.js.map +1 -1
- package/dist/src/models/uploads.js +33 -0
- package/dist/src/models/uploads.js.map +1 -0
- package/dist/src/services/api/client.js +1 -0
- package/dist/src/services/api/client.js.map +1 -1
- package/dist/src/services/events/curated.js +16 -10
- package/dist/src/services/events/curated.js.map +1 -1
- package/dist/src/services/instances/curated.js +76 -1
- package/dist/src/services/instances/curated.js.map +1 -1
- package/dist/src/services/uploads/curated.js +42 -0
- package/dist/src/services/uploads/curated.js.map +1 -0
- package/dist/src/services/uploads/index.js +3 -0
- package/dist/src/services/uploads/index.js.map +1 -0
- package/dist/src/services/uploads/localPng.js +390 -0
- package/dist/src/services/uploads/localPng.js.map +1 -0
- package/dist/src/tools/curated/instances.js +29 -2
- package/dist/src/tools/curated/instances.js.map +1 -1
- package/dist/src/tools/curated/uploads.js +57 -0
- package/dist/src/tools/curated/uploads.js.map +1 -0
- package/dist/src/tools/registerAllTools.js +2 -0
- package/dist/src/tools/registerAllTools.js.map +1 -1
- package/docs/curated-tools.md +32 -0
- package/docs/spec-drift.md +33 -0
- package/docs/tools-guide.md +1 -0
- package/docs/tools.md +228 -6
- package/package.json +2 -1
- package/server.json +9 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localPng.js","sourceRoot":"","sources":["../../../../src/services/uploads/localPng.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { InstanceCreateOutputSchema, InstanceCreateSchema } from '../../models/instances.js';
|
|
2
|
-
import { createInstance, prepareInstanceCreate, } from '../../services/instances/index.js';
|
|
1
|
+
import { InstanceCreateOutputSchema, InstanceCreateSchema, InstanceLinkEventOutputSchema, InstanceLinkEventSchema, } from '../../models/instances.js';
|
|
2
|
+
import { createInstance, linkInstanceToCalendarEvent, prepareInstanceCreate, } from '../../services/instances/index.js';
|
|
3
3
|
import { writeToolAnnotations } from '../../utils/toolAnnotations.js';
|
|
4
4
|
import { toolName } from '../../utils/toolNames.js';
|
|
5
5
|
import { textContent, toolError } from '../../utils/toolResponses.js';
|
|
@@ -31,5 +31,32 @@ export function registerCuratedInstanceTools(server) {
|
|
|
31
31
|
return toolError(message);
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
+
server.registerTool(toolName('vrchat.instance.link_event'), {
|
|
35
|
+
description: 'Link an allowlisted group instance to its event without notifying.',
|
|
36
|
+
inputSchema: InstanceLinkEventSchema,
|
|
37
|
+
outputSchema: InstanceLinkEventOutputSchema,
|
|
38
|
+
annotations: writeToolAnnotations,
|
|
39
|
+
}, async (args) => {
|
|
40
|
+
try {
|
|
41
|
+
const input = InstanceLinkEventSchema.parse(args);
|
|
42
|
+
const result = await linkInstanceToCalendarEvent(input);
|
|
43
|
+
const payload = {
|
|
44
|
+
status: result.status,
|
|
45
|
+
groupId: input.groupId,
|
|
46
|
+
calendarId: input.calendarId,
|
|
47
|
+
eventTitle: result.eventTitle,
|
|
48
|
+
location: `${input.worldId}:${input.instanceId}`,
|
|
49
|
+
instanceName: result.instanceName,
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
content: textContent(JSON.stringify(payload, null, 2)),
|
|
53
|
+
structuredContent: payload,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
const message = err instanceof Error ? err.message : 'Unknown error';
|
|
58
|
+
return toolError(message);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
34
61
|
}
|
|
35
62
|
//# sourceMappingURL=instances.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../../src/tools/curated/instances.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../../src/tools/curated/instances.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { getConfig } from '../../config/index.js';
|
|
2
|
+
import { assertWritesAllowed, CallError } from '../../core/client.js';
|
|
3
|
+
import { GroupImageUploadInputSchema, GroupImageUploadOutputSchema, } from '../../models/uploads.js';
|
|
4
|
+
import { checkGroupAllowed, resolveGroupId } from '../../services/groups/index.js';
|
|
5
|
+
import { uploadGroupImage } from '../../services/uploads/index.js';
|
|
6
|
+
import { writeToolAnnotations } from '../../utils/toolAnnotations.js';
|
|
7
|
+
import { toolName } from '../../utils/toolNames.js';
|
|
8
|
+
import { textContent, toolError } from '../../utils/toolResponses.js';
|
|
9
|
+
export function registerCuratedUploadTools(server) {
|
|
10
|
+
server.registerTool(toolName('vrchat.group.image.upload'), {
|
|
11
|
+
description: '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.',
|
|
12
|
+
inputSchema: GroupImageUploadInputSchema,
|
|
13
|
+
outputSchema: GroupImageUploadOutputSchema,
|
|
14
|
+
annotations: writeToolAnnotations,
|
|
15
|
+
}, async (args) => {
|
|
16
|
+
try {
|
|
17
|
+
assertWritesAllowed('POST');
|
|
18
|
+
const input = GroupImageUploadInputSchema.parse(args);
|
|
19
|
+
const resolved = await resolveGroupId({
|
|
20
|
+
groupId: input.groupId,
|
|
21
|
+
shortCode: input.shortCode,
|
|
22
|
+
});
|
|
23
|
+
if (!resolved.ok) {
|
|
24
|
+
return toolError(resolved.reason, {
|
|
25
|
+
status: resolved.status,
|
|
26
|
+
message: resolved.reason,
|
|
27
|
+
nextSteps: resolved.nextSteps,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
const allowed = checkGroupAllowed(resolved.groupId);
|
|
31
|
+
if (!allowed.ok)
|
|
32
|
+
return toolError(allowed.reason);
|
|
33
|
+
const result = await uploadGroupImage(input, getConfig().uploads.allowedRoots);
|
|
34
|
+
const payload = {
|
|
35
|
+
status: 'uploaded',
|
|
36
|
+
groupId: resolved.groupId,
|
|
37
|
+
fileId: result.file.id,
|
|
38
|
+
image: {
|
|
39
|
+
fileName: result.image.fileName,
|
|
40
|
+
byteSize: result.image.byteSize,
|
|
41
|
+
width: result.image.width,
|
|
42
|
+
height: result.image.height,
|
|
43
|
+
},
|
|
44
|
+
file: result.file,
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
content: textContent(JSON.stringify(payload, null, 2)),
|
|
48
|
+
structuredContent: payload,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
const message = err instanceof Error ? err.message : 'Unknown error';
|
|
53
|
+
return toolError(message, err instanceof CallError ? err.payload : undefined);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=uploads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../../../src/tools/curated/uploads.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { registerCuratedNotificationTools } from './curated/notifications.js';
|
|
|
12
12
|
import { registerCuratedStatusPageTools } from './curated/statusPage.js';
|
|
13
13
|
import { registerCuratedStatusTools } from './curated/status.js';
|
|
14
14
|
import { registerCuratedUserTools } from './curated/users.js';
|
|
15
|
+
import { registerCuratedUploadTools } from './curated/uploads.js';
|
|
15
16
|
import { registerCuratedVrcxTools } from './curated/vrcx/index.js';
|
|
16
17
|
import { registerCuratedWorldTools } from './curated/worlds.js';
|
|
17
18
|
import { registerGeneratedTools } from './generated.js';
|
|
@@ -34,6 +35,7 @@ export async function registerAllTools(server) {
|
|
|
34
35
|
registerCuratedStatusTools(server);
|
|
35
36
|
registerCuratedStatusPageTools(server);
|
|
36
37
|
registerCuratedUserTools(server);
|
|
38
|
+
registerCuratedUploadTools(server);
|
|
37
39
|
registerCuratedNotificationTools(server);
|
|
38
40
|
registerCuratedWorldTools(server);
|
|
39
41
|
registerCuratedVrcxTools(server);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerAllTools.js","sourceRoot":"","sources":["../../../src/tools/registerAllTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAiB;IACtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEhC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"registerAllTools.js","sourceRoot":"","sources":["../../../src/tools/registerAllTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAiB;IACtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEhC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
|
package/docs/curated-tools.md
CHANGED
|
@@ -17,6 +17,7 @@ without wading through hundreds of low-level endpoints.
|
|
|
17
17
|
- Curated write tools are enabled by default through `writes.allow = true`.
|
|
18
18
|
- Set `writes.allow = false` or `VRCHAT_MCP_ALLOW_WRITES=false` for read-only mode.
|
|
19
19
|
- Group-scoped writes additionally honor `groups.allowlist`.
|
|
20
|
+
- Local file intake is disabled until `uploads.allowedRoots` contains one or more absolute directories.
|
|
20
21
|
|
|
21
22
|
## Current curated tools (implemented)
|
|
22
23
|
|
|
@@ -94,10 +95,24 @@ Events and calendar (write):
|
|
|
94
95
|
Instances and invites (write):
|
|
95
96
|
|
|
96
97
|
- `vrchat_instance_create`
|
|
98
|
+
- `vrchat_instance_link_event`
|
|
97
99
|
- `vrchat_invite`
|
|
98
100
|
- `vrchat_invite_user`
|
|
99
101
|
- `vrchat_invite_user_to_me`
|
|
100
102
|
|
|
103
|
+
`vrchat_instance_link_event` accepts an explicit group, event, world, and instance ID. It first
|
|
104
|
+
checks `groups.allowlist`, then freshly reads both objects and requires the event and group-type
|
|
105
|
+
instance to have that same group owner. It refuses to replace a different existing event link.
|
|
106
|
+
Calls targeting one instance are serialized within the MCP process so concurrent requests cannot
|
|
107
|
+
replace one another after both read an unlinked instance. Re-linking the same event is an
|
|
108
|
+
idempotent no-op that still invalidates the relevant caches. The result includes the group and
|
|
109
|
+
event IDs plus readable event and instance names for safe follow-up calls. The tool can only set
|
|
110
|
+
`calendarEntryId`; it cannot unlink an event or change any other instance field, and it does not
|
|
111
|
+
send invitations or notifications. A conflicting existing link is rejected after invalidating the
|
|
112
|
+
same caches so later reads see that fresh state. VRChat accepts the link only when the event starts
|
|
113
|
+
within six hours or ended within the previous six hours. Like other account-changing tools,
|
|
114
|
+
approval belongs at the MCP client or agent-harness boundary.
|
|
115
|
+
|
|
101
116
|
Groups and social writes:
|
|
102
117
|
|
|
103
118
|
- `vrchat_group_invite`
|
|
@@ -110,6 +125,23 @@ Group posts (write):
|
|
|
110
125
|
- `vrchat_group_post_update`
|
|
111
126
|
- `vrchat_group_post_delete`
|
|
112
127
|
|
|
128
|
+
Group image intake (write):
|
|
129
|
+
|
|
130
|
+
- `vrchat_group_image_upload`
|
|
131
|
+
|
|
132
|
+
`vrchat_group_image_upload` accepts a `groupId` or `shortCode` plus an absolute `imagePath`.
|
|
133
|
+
It checks the global write guard and the resolved group allowlist before opening the file. The path
|
|
134
|
+
must remain inside a configured `uploads.allowedRoots` directory after canonical resolution. The
|
|
135
|
+
tool opens and reads one regular file handle, rejects symbolic links, junction escapes, replacement
|
|
136
|
+
races, and unstable file identity, then validates a static PNG with CRC checking and a
|
|
137
|
+
dimension-derived IDAT decompression limit. APNG content, compressed color profiles,
|
|
138
|
+
more than 4096 PNG chunks, trailing data, dimensions outside 65 through 2048 pixels per side,
|
|
139
|
+
and files over 10 MiB are rejected. Valid images are sent as multipart form data to VRChat's live
|
|
140
|
+
image endpoint with the `gallery` tag. The result includes the new `fileId` for a later post or
|
|
141
|
+
event call; uploading alone does not attach the image or notify group members. If the connection
|
|
142
|
+
fails before a response is received, the tool reports that the upload may have succeeded and must
|
|
143
|
+
not be retried automatically.
|
|
144
|
+
|
|
113
145
|
Neither create nor update notifies group members unless `sendNotification` is explicitly set, because a single post can ping the whole group.
|
|
114
146
|
|
|
115
147
|
All three accept `groupId` or `shortCode`, and the `groups.allowlist` guard always runs against the resolved ID so a short code cannot route around it.
|
package/docs/spec-drift.md
CHANGED
|
@@ -46,6 +46,21 @@ The spec describes `InstanceID` as the bare instance part
|
|
|
46
46
|
|
|
47
47
|
Verified live: full string → `200`, worldId stripped → `400`.
|
|
48
48
|
|
|
49
|
+
### `CreateInstanceRequest.canRequestInvite` is restricted to private instances
|
|
50
|
+
*Observed 2026-09-01 · handled in `services/instances/curated.ts`*
|
|
51
|
+
|
|
52
|
+
The community schema permits `canRequestInvite` for every instance type. The live API accepts
|
|
53
|
+
`true` only when `type` is `private`; a group instance returns
|
|
54
|
+
`400: Cannot add canRequestInvite to non-private instances.` The same group instance succeeds
|
|
55
|
+
when the field is omitted or set to `false`.
|
|
56
|
+
|
|
57
|
+
### Single calendar events report `occurrenceKind: "single"`
|
|
58
|
+
*Observed 2026-09-01 · handled in `services/events/curated.ts`*
|
|
59
|
+
|
|
60
|
+
The generated `CalendarEvent` schema does not declare `occurrenceKind`. The live group calendar
|
|
61
|
+
event endpoint reports `"single"` for a confirmed non-recurring event, while the curated delete
|
|
62
|
+
tool deliberately exposes the more explicit `targetKind: "single_event"` safety value.
|
|
63
|
+
|
|
49
64
|
### Role permissions have undocumented prerequisites
|
|
50
65
|
*Observed 2026-08-02, not re-verified since*
|
|
51
66
|
|
|
@@ -60,6 +75,24 @@ role, otherwise `PUT /groups/{groupId}/roles/{roleId}` returns
|
|
|
60
75
|
The spec defines the enum but says nothing about colors, because they are a client-UI concept.
|
|
61
76
|
For reference: **Join Me = blue, Active = green, Ask Me = orange, Busy = red.**
|
|
62
77
|
|
|
78
|
+
### Existing instances can be linked to calendar events with an undocumented `PUT`
|
|
79
|
+
*Observed and re-verified 2026-08-31 · handled by the curated instance linker*
|
|
80
|
+
|
|
81
|
+
The community spec has no update operation for an existing instance. The live API accepts
|
|
82
|
+
`PUT /instances/{worldId}:{instanceId}` with `{"calendarEntryId":"cal_..."}` and returns the
|
|
83
|
+
updated `Instance`. `PATCH` on the same path returned `405`.
|
|
84
|
+
|
|
85
|
+
VRChat returned `400` when the event was outside its link window, with the rule that an event
|
|
86
|
+
must start within six hours or have ended within the previous six hours. Moving the test event
|
|
87
|
+
inside that window made the same `PUT` return `200`. Sending `{"calendarEntryId":null}` also
|
|
88
|
+
returned `200` and removed the link, but the curated tool intentionally exposes linking only.
|
|
89
|
+
|
|
90
|
+
Verified live with an owned disposable test group, event, and group-only instance. No invitation
|
|
91
|
+
or announcement was sent. Because the endpoint is missing from the spec, `core/client.ts` carries
|
|
92
|
+
a narrow operation fallback until the community spec catches up. Raw access is blocked and the
|
|
93
|
+
curated tool sends only `calendarEntryId` after checking the configured group allowlist and both
|
|
94
|
+
objects' ownership.
|
|
95
|
+
|
|
63
96
|
---
|
|
64
97
|
|
|
65
98
|
## Suspected, not yet verified
|
package/docs/tools-guide.md
CHANGED
|
@@ -9,6 +9,7 @@ This is the human-oriented overview for how to use the tool surface. The full, g
|
|
|
9
9
|
- Curated write tools are enabled by default for local full-capability use. Set `writes.allow = false` (or `VRCHAT_MCP_ALLOW_WRITES=false`) for read-only mode.
|
|
10
10
|
- The MCP client or agent harness is expected to control approval/denial for account-changing tool calls.
|
|
11
11
|
- Group write actions are restricted by `groups.allowlist` when set.
|
|
12
|
+
- Local image uploads require an absolute path inside `uploads.allowedRoots`. Empty roots disable local upload intake.
|
|
12
13
|
- Do not expose this server as a hosted/public MCP service with VRChat cookies. Keep it local and user-controlled.
|
|
13
14
|
|
|
14
15
|
## Metadata budget
|