vrc-udon-mcp-nllabs
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_documentationA | WHEN: before answering any Udon/VRChat docs question. HOW: keyword/fuzzy search the indexed agent-skills repo. Prefer this over inventing APIs from general C# knowledge. |
| explain_topicA | WHEN: user needs a cited explanation of a Udon/VRChat topic. HOW: returns sections with path and line numbers — use citations, do not paraphrase away constraints. |
| list_skillsA | WHEN: starting an Udon session or discovering available skills. HOW: list skills from the repo before reading one with read_skill. |
| read_skillA | WHEN: you need the full skill contract (rules, refs, templates). HOW: call after list_skills; follow linked rules before writing code. |
| list_rulesA | WHEN: you need the set of UdonSharp rules before coding. HOW: list then read_rule for any rule that applies to the feature. |
| read_ruleB | WHEN: implementing something covered by a named rule (constraints, networking, etc.). HOW: apply purpose/constraints/examples from the rule; do not skip constraints. |
| search_referenceB | WHEN: looking up API/reference docs in references/. HOW: search before inventing method names or event signatures. |
| list_templatesA | WHEN: about to write UdonSharp — first step of template→validate→fix. HOW: list .cs templates, then get_template for the closest match and adapt it. |
| get_templateA | WHEN: before writing UdonSharp. HOW: use the returned source as the BASE — adapt fields/logic; do NOT invent networking (ownership, Manual sync, RequestSerialization). After adapting, call validate_code. |
| validate_codeA | WHEN: after writing or editing any UdonSharp script (mandatory). HOW: pass full code. If issues: call explain_validation for each unique ruleId, fix, then re-run validate_code until valid. Never ship code that failed validation. |
| explain_validationA | WHEN: validate_code returned issues. HOW: call once per unique ruleId from the result, read the cited rule/docs, apply the fix, then re-run validate_code. Part of the fix loop — do not guess fixes. |
| sdk_matrixB | WHEN: checking which APIs exist for a target SDK version. HOW: read the matrix before using version-specific features. |
| search_sdk_featureB | WHEN: unsure if a feature (NetworkCallable, PlayerData, PhysBones, etc.) exists or how it works. HOW: search before coding against that feature. |
| search_constraintsA | WHEN: BEFORE using any C# feature in UdonSharp (List, Dictionary, Coroutine, LINQ, async, generics, etc.). HOW: check constraints and use documented alternatives. Skipping this causes invalid Udon. |
| search_networkingB | WHEN: any ownership, sync mode, late joiners, serialization, or RPC work. HOW: search before writing synced fields; prefer Manual + RequestSerialization patterns from docs/templates. |
| search_examplesA | WHEN: before writing UdonSharp (prefer with get_template). HOW: use matching examples as the code BASE — adapt, do not invent APIs or networking patterns. Then validate_code. |
| search_best_practiceB | WHEN: refining structure, performance, or idiomatic UdonSharp. HOW: apply recommended patterns from the repo after drafting from a template. |
| search_antipatternA | WHEN: BEFORE using unfamiliar C# patterns or when validate_code fails with a common mistake. HOW: check anti-patterns to avoid; prefer documented alternatives. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| udon-code-workflow | Mandatory template→validate→fix workflow for accurate UdonSharp. Use before writing Udon code. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| UdonSharp code workflow | SSOT: mandatory template→validate→fix workflow for accurate UdonSharp. Same rules as AGENTS.md. Read before writing Udon code. |
| Skill: unity-vrc-udon-sharp | >- |
| Skill: unity-vrc-world-sdk-3 | > |
| Rule: UdonSharp Compile Constraints (Always Loaded) | UdonSharp compiles C# to Udon Assembly. Code that executes in the Udon runtime must adhere to these constraints, which differ from standard C#. Unity/Editor-side field initializer evaluation has the narrow exception described below. **Active support / last verified**: SDK 3.10.5 Older version numbers in this rule record feature introductions or migration facts only; SDK 3.7.1-3.10.4 are not supp |
| Rule: UdonSharp Networking Rules (Always Loaded) | Core networking rules and constraints. See `../references/networking.md` for detailed patterns. **Active support / last verified**: SDK 3.10.5 Older version numbers in this rule record feature introductions or migration facts only; SDK 3.7.1-3.10.4 are not supported or validation targets for this Skill. |
| Rule: Sync Pattern Selection (Always Loaded) | Always consult before generating code. A decision framework for WHAT to sync and WHEN to sync. See `../references/sync-examples.md` for practical patterns and code examples. |
| SDK Version Matrix | SDK version matrix from repository |
| Template Index | Index of UdonSharp templates from repository |
| Cheatsheet: UdonSharp Cheatsheet | CHEATSHEET.md for unity-vrc-udon-sharp |
| Cheatsheet: VRC World SDK 3 Cheatsheet | CHEATSHEET.md for unity-vrc-world-sdk-3 |
TDQS
Scored across 18 tools
The tools are mostly distinct, but the eight search_* variants (documentation, reference, sdk_feature, constraints, networking, examples, best_practice, antipattern) share a common action and could be confused at a glance. Descriptions clearly differentiate them by target, so an agent can usually select correctly, but the overlap prevents a perfect score.
The vast majority of tools follow a consistent verb_noun snake_case pattern (search_*, list_*, read_*, get_*, validate_*, explain_*). The one outlier is sdk_matrix, which is a noun_noun pair without a verb, a minor deviation from the otherwise uniform scheme.
18 tools is on the heavy side, falling in the 16–25 'borderline' range. The domain is specialized and each tool has a real use case, but several search tools could potentially be consolidated into a more generic search with filters, making the set feel slightly over-scoped.
The tool surface covers the full Udon development workflow: discovering skills/rules/templates, reading detailed references, searching for constraints/networking/sdk features, validating code, explaining validation failures, and checking SDK compatibility. No obvious dead ends or missing lifecycle steps remain.