VRChat friend monitor system — WebSocket real-time collection + OTP auto-login + MCP interface
Mixed quality across 16 tools. VRC tools (1-4) have clear descriptions and proper schemas but lack parameter details. Auth tools (5-7) have minimal descriptions (Chinese, under 50 chars) and incomplete schemas. BOOTH tools (8-10) have excellent descriptions (200+ chars) with detailed parameter docs. Emoji tools (12-14) have Chinese descriptions and reasonable schemas. Events tool (15) lacks detail. Overall: 6/16 tools have descriptions under 50 chars; 7/16 lack parameter descriptions; no tools document output schemas; no error recovery guidance.
生成 32 字节高强度密码学随机 Token,并提供 .env 配置模版
查询当前服务的公网鉴权配置状态、网络监听地址与安全就绪度
校验给定的 Token 是否与当前环境变量配置的 Token 匹配
VRChat 社区活动聚合(采集 → 群组深度挖掘 → 音乐/虚拟主播筛选 → 结构化 JSON + 落库)。数据源:VRC Search、RLVRC、VRCEve(Google Calendar)、VRCEvent-KR(Google Calendar)。群组深度挖掘经 api.vrchat.fetch(自动登录态 + 限流)。
[query·素材] List BOOTH items previously queried (local booth_items snapshot cache). Sorted by wishlistCount (热度) or updatedAt; supports minWishlist filter for trend tracking (which items are gaining popularity).
[query·素材] Get a single BOOTH item detail by item id (booth.pm/ja/items/{id}). Returns name, price, description, tags, images (array of {original, resized, caption} objects — use images[0].original as the cover URL), shop/seller, publishedAt, isSoldOut, wishlistCount (收藏数), variations, url. NOTE: purchase/download counts are not publicly visible (0 anonymously). Results are cached locally (booth_items table): cached:true returns the snapshot without hitting BOOTH; forceRefresh:true bypasses the cache.
6 tools have descriptions under 50 characters (auth_get_status, auth_generate_token, auth_verify_token, set_emoji_note, get_emoji_notes, my_plugin_ping).
No tool documents its output schema. LLMs cannot plan downstream calls or extract required fields without knowing what fields are returned.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
[query·素材] List recent BOOTH search history (query, result item ids, result count, timestamp).
[query] 列出 emoji 备注(可按 emojiId / kind 过滤,默认只返回有效项)。
[query] 插件自检:返回插件名/版本/当前时间,无凭据可调用。
[query] 把口语化/可能带 STT 噪声的中文表情描述解析成 emojiId。支持别名/拼音同音/子串/分词重叠/编辑距离匹配,返回候选+置信度;歧义时返回候选不瞎猜。
[query·素材] Search BOOTH (booth.pm, pixiv digital-goods marketplace) for VRChat assets (avatars/clothes/3D models/accessories) by keyword. Returns items with name, price, wishlistCount (收藏数=热度), shop/seller, tags, isSoldOut, images (array of {original, resized, caption} objects — use images[0].original as the cover URL), url. NOTE: download/sales counts are NOT publicly visible on BOOTH (always 0 anonymously). Use wishlistCount as the popularity signal. Detail fetch is rate-limited to 400ms/item.
[manage] 给 emojiId(内置 default_xxx 或自定义 fileId)设备注/别名,存本地。note/aliases/tags/category 均为空时软删除该条;任一非空则整表替换(覆盖 note/aliases/tags/category 全量,如只传 tags 会清空其它字段)。
Restart the VRChat friend monitor service. Equivalent to stop followed by start.
Start the VRChat friend monitor Node.js service as a detached background process. The service listens on http://127.0.0.1:8799 and auto-authenticates via OTP. Idempotent — returns current status without restarting if already running.
Check whether the VRChat friend monitor service is running. Returns process liveness (pid/alive) and the current health status from the monitor's /health endpoint, including OTP authentication state, WebSocket connection status, and the number of online friends.
Stop the VRChat friend monitor service. Terminates the Node.js process and clears tracking state. Idempotent — safe to call when nothing is running.
7 tools lack parameter descriptions (auth_get_status, auth_generate_token, auth_verify_token, set_emoji_note, get_emoji_notes, my_plugin_ping, fetch_community_events).
No error handling guidance. Tools like vrc_start, vrc_stop, auth_verify_token, and search_booth_items do not document what errors can occur, whether they are retryable, or what the LLM should do next.
Chinese descriptions in auth and emoji tools (auth_get_status, auth_generate_token, auth_verify_token, set_emoji_note, get_emoji_notes, resolve_emoji) are not actionable for English-speaking LLMs and violate the pattern of writing descriptions as prompt-engineering. Descriptions must be in the LLM's primary language.