Skip to main content
Glama

``` ██╗ ██╗██████╗ ██████╗██╗ ██╗ █████╗ ████████╗ ██╗ ██╗██████╗ ██████╗ ███╗ ██╗ ███╗ ███╗ ██████╗██████╗ ██║ ██║██╔══██╗██╔════╝██║ ██║██╔══██╗╚══██╔══╝ ██║ ██║██╔══██╗██╔═══██╗████╗ ██║ ████╗ ████║██╔════╝██╔══██╗ ██║ ██║██████╔╝██║ ███████║███████║ ██║ ██║ ██║██║ ██║██║ ██║██╔██╗ ██║ ██╔████╔██║██║ ██████╔╝ ██║ ██║██╔══██╗██║ ██╔══██║██╔══██║ ██║ ██║ ██║██║ ██║██║ ██║██║╚██╗██║ ██║╚██╔╝██║██║ ██╔═══╝ ╚██████╔╝██║ ██║╚██████╗██║ ██║██║ ██║ ██║ ╚██████╔╝██████╔╝╚██████╔╝██║ ╚████║ ██║ ╚═╝ ██║╚██████╗██║ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝╚═╝


# VRChat Udon MCP

[![Version](https://img.shields.io/badge/version-2.1.0-blue.svg)](https://github.com/MauDevVR/vrchat-udon-mcp/releases)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Node.js](https://img.shields.io/badge/Node.js-22%2B-green.svg)](https://nodejs.org/)
[![MCP](https://img.shields.io/badge/MCP-Model%20Context%20Protocol-purple.svg)](https://modelcontextprotocol.io)

**MCP server for VRChat UdonSharp development** — exposes the [agent-skills-vrc-udon](https://github.com/niaka3dayo/agent-skills-vrc-udon) knowledge base to AI assistants via the [Model Context Protocol](https://modelcontextprotocol.io).

---

## 🌐 Documentation

| Language | README | Description |
|----------|--------|-------------|
| 🇺🇸 **English** | [docs/README.en.md](docs/README.en.md) | Full guide — installation, MCP setup, tools |
| 🇪🇸 **Español** | [docs/README.es.md](docs/README.es.md) | Guía completa en español |
| 🇫🇷 **Français** | [docs/README.fr.md](docs/README.fr.md) | Guide complet en français |
| 🇯🇵 **日本語** | [docs/README.ja.md](docs/README.ja.md) | 日本語の完全ガイド |
| 🇰🇷 **한국어** | [docs/README.ko.md](docs/README.ko.md) | 한국어 전체 가이드 |

---

## What is this?

`vrchat-udon-mcp` is a **stdio MCP server** that indexes, searches, and validates UdonSharp documentation from the `agent-skills-vrc-udon` repository at runtime. No hardcoded docs — the remote repo is the single source of truth.

| | |
|---|---|
| **18 MCP tools** | Search, explain, validate, templates, SDK matrix |
| **Dynamic resources** | Skills, rules, cheatsheets, templates |
| **Live indexing** | MiniSearch with weighted ranking + file watcher |
| **IDE support** | Cursor, Claude Desktop, ChatGPT Desktop |

---

## Quick start

**Install into Cursor MCP config** (portable `npx` entry, merge-safe):

```bash
npx -y github:MauDevVR/vrchat-udon-mcp -- install

Then Refresh MCP in Cursor. Optional: add --claude for Claude Desktop.

Develop from source:

git clone https://github.com/MauDevVR/vrchat-udon-mcp.git
cd vrchat-udon-mcp
pnpm install
pnpm update-docs && pnpm build-index && pnpm build
pnpm start

See docs/mcp-config.example.json and the language READMEs for workspace, npx, global install, submodule, and git dependency options.


Table of contents


Related MCP server: aiskillstore

Screenshots

Placeholder — add screenshots of MCP tools in Cursor, search results, or validation output here.

MCP connected in Cursor

search_documentation results

Screenshot pending

Screenshot pending


License

MIT — Documentation and skills by niaka3dayo/agent-skills-vrc-udon. MCP server by MauDevVR.

Available Tools

18 tools
explain_topicA

Explain a Udon/VRChat topic citing indexed repository sections with path and line numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNodetailed
topicYesTopic to explain
sdkVersionNoTarget SDK version

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes output behavior (citations with path/line numbers) but no annotation is provided. Lacks details on safety, authorization, or side effects, leaving room for improvement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with no redundant words, effectively conveying the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately describes the main action but lacks details about output format and usage context among 17 sibling tools. Could be more complete with examples or when-to-use instructions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 67% of parameters with descriptions; the tool description does not add extra context for the parameters, staying at baseline for schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool explains Udon/VRChat topics with citations from indexed repository sections, distinguishing it from sibling tools like 'explain_validation' and search-based tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings such as 'search_documentation' or 'explain_validation'. The description lacks explicit context for appropriate scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_validationA

Explain a validation failure by referencing the repository rule that caused it

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYesValidation rule ID from validate_code

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose how the tool accesses the repository rule, what happens if the rule is missing, or any side effects. It is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 13 words with no wasted words. It is front-loaded and efficiently conveys the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is sufficient. It explains the tool's role in the validation workflow, though it could mention what the output looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the single parameter 'ruleId' described as 'Validation rule ID from validate_code'. The description adds minimal extra meaning; the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Explain' and the resource 'validation failure' and specifies the mechanism 'by referencing the repository rule that caused it'. It differentiates from sibling tools like 'validate_code' which perform validation, not explanation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use after a validation failure, but does not explicitly state when to use this tool versus alternatives. It lacks guidance on prerequisites or exclusions, such as when a rule ID is invalid.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_templateA

Get a specific UdonSharp template with full source code

ParametersJSON Schema
NameRequiredDescriptionDefault
templateIdYesTemplate identifier or filename

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a non-destructive read operation by stating 'Get', but does not disclose authorization needs, rate limits, or response size. For a simple read, this is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clear sentence with no unnecessary words. Efficient and directly conveys the tool's action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one parameter, no output schema, and a clear sibling 'list_templates', the description is complete enough. It states the resource and what is returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter described. The description adds 'specific UdonSharp template' context but no additional semantics beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'UdonSharp template', and the scope 'specific with full source code'. It effectively differentiates from the sibling tool 'list_templates' which lists templates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'list_templates'. No when-not-to-use or prerequisite information is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_rulesB

List all UdonSharp rules from the repository

ParametersJSON Schema
NameRequiredDescriptionDefault
skillIdNoFilter rules by skill

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, description only states listing behavior; lacks details on pagination, side effects, or data handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simplicity, covers basic purpose but misses return format hint and usage context relative to siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100%, description adds minimal context about optional filtering but no details on filter matching.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States explicit action 'list all rules' and specific repository context, but does not differentiate from sibling list tools like list_skills or list_templates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use listing vs searching or reading individual rules; alternative tools present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_skillsB

Auto-discover all skills from the repository

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full burden but offers minimal behavioral detail. 'Auto-discover' hints at dynamic detection but does not explain permissions, performance, or what the retrieval entails. Critical traits like mutability or side effects are not addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the tool's purpose given its simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless list tool without an output schema, the description is minimal but adequate. However, it lacks details on return format, scope of 'repository', and what 'auto-discover' specifically means, leaving some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters (0 params), so schema description coverage is trivially 100%. According to the rubric, 0 params has a baseline of 4. The description adds no parameter information because none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all skills from the repository, using the verb 'discover' which implies retrieval. However, it does not differentiate itself from sibling tools like list_rules or list_templates, which have similar listing purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer usage without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesB

List UdonSharp code templates from the repository

ParametersJSON Schema
NameRequiredDescriptionDefault
skillIdNoFilter templates by skill

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose behavioral traits beyond 'list'. It omits whether the operation is read-only, whether pagination exists, or what the return format is. For a tool with no annotations, the description carries full burden and is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 8 words, very concise but lacks detail. While concise, it sacrifices informativeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple (one optional param, no output schema, no annotations). Description could be more complete by noting that it returns a list of templates, that omitting filter shows all, and that it pulls from a repository. Current description is minimal and leaves many aspects unclear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter fully described in schema). The description adds the filtering context ('Filter templates by skill'), but does not explain expected values or behavior when omitted. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (list) and resource (UdonSharp code templates from the repository). It distinguishes from sibling 'get_template' which implies fetching a single template, and 'list_skills' which lists skills.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_template' or 'search_examples'. No mention of when filtering by skill is appropriate or what happens without a filter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_ruleB

Read a rule with purpose, constraints, examples, and related rules

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleIdYesRule identifier or filename

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While it lists returned fields, it does not disclose behavior such as whether the rule must exist, error handling, or safety. No annotations provided, so description carries full burden but only minimally informs about the return content.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words. Front-loaded and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description gives a reasonable idea of the return content (purpose, constraints, examples, related rules). However, it does not mention the full structure or error conditions, so not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter described. The description does not add extra meaning beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'Read' and resource 'rule'. Mentions what the rule contains (purpose, constraints, examples, related rules). Distinguishes from siblings like list_rules or search_* by being a direct read operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_rules or search_*. Does not specify context or prerequisites (e.g., that ruleId must exist).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_skillA

Read full SKILL.md with metadata, rules, references, and templates

ParametersJSON Schema
NameRequiredDescriptionDefault
skillIdYesSkill identifier (e.g. unity-vrc-udon-sharp)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully convey behavior. It states a read operation with no side effects, but lacks details on error handling (e.g., missing skill, permissions) and does not confirm idempotence. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-formed sentence that efficiently conveys the tool's purpose and scope without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, no-output-schema tool, the description specifies the returned content. Lacks details on output format or error conditions, but sufficient for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the sole parameter 'skillId' with a clear description and example. The description adds no extra meaning beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Read' and resource 'full SKILL.md' with details on content (metadata, rules, references, templates). It clearly distinguishes from siblings like read_rule (reads a single rule) or get_template (reads a template).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when needing the full skill content but provides no explicit guidance on when to choose this tool over alternatives (e.g., for individual rules use read_rule, for templates use get_template).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sdk_matrixB

Get SDK version matrix from repository documentation

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states 'get' (implying a read), but fails to mention any side effects, authentication requirements, or result format. For a tool with no parameters, this is minimally adequate but not transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no redundancy. It earns its place but could be more structured (e.g., bullet points for output details).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description minimally covers purpose. However, it does not explain what the matrix contains or its format, leaving some ambiguity for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist in the schema, and schema description coverage is 100%. Per baseline rule, a score of 4 is appropriate since no parameter information is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool retrieves an SDK version matrix from repository documentation. The verb 'get' and resource 'SDK version matrix' are specific, and no sibling tool duplicates this exact purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like search_reference or list_tools. Lacks context for when the version matrix is needed over other documentation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_antipatternC

Search anti-patterns and common mistakes to avoid

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesAnti-pattern to search

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states it searches. It does not disclose any behavioral traits such as return format, required permissions, or performance considerations. The description fails to compensate for missing annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, efficient and to the point. However, it could be slightly more informative without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 parameters, no output schema), the description is minimally adequate. It covers the basic purpose but lacks information about return values and differentiation from siblings, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (limit parameter lacks description), and the tool description adds no additional context beyond what the schema already provides. The description does not help clarify parameter usage or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches anti-patterns and common mistakes, providing a specific verb and resource. However, it does not differentiate itself from sibling search tools like search_best_practice or search_constraints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool over alternatives. With many similar sibling search tools, the lack of usage context is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_best_practiceC

Search recommended patterns and best practices

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesBest practice topic to search

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose all behavioral traits. It only states it is a search operation but omits important details such as idempotency, read-only nature, rate limits, or side effects. This is minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it lacks structure such as separate sentences for purpose and usage, which could improve clarity without significant length increase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with two parameters and no output schema, the description does not cover return value expectations, result format, or how results are ordered. This leaves significant gaps in understanding the tool's behavior and output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema describes the 'query' parameter, the tool description does not add any additional meaning. The 'limit' parameter is undocumented in both schema and description, and the description fails to explain parameter roles or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search' and the resource 'recommended patterns and best practices', making the tool's purpose understandable. However, it does not distinguish it from sibling search tools like 'search_antipattern' or 'search_documentation', which share a similar purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not specify the ideal context, when not to use it, or list any prerequisites, leaving the agent without decision-making support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_constraintsB

Search UdonSharp constraints (List, Dictionary, Coroutine, etc.) with alternatives

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesConstraint to search (e.g. List<T>, Coroutine)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear the full burden. It only states the purpose and does not disclose any behavioral traits like read-only nature, rate limits, or what the response looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it lacks structure such as separate sections for usage and behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with two parameters and no output schema, the description fails to cover behavioral aspects (e.g., read-only) or output format, leaving gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the query parameter has a description in the schema, but limit does not. The description adds no details about parameters beyond mentioning 'alternatives'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches UdonSharp constraints and provides examples (List<T>, Dictionary, Coroutine) and mentions alternatives, which distinguishes it from sibling search tools that target different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates it is for searching constraints with alternatives, but does not explicitly specify when to use this tool versus other search tools or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_documentationC

Search agent-skills-vrc-udon documentation with keyword, heading, and fuzzy matching

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSearch query for documentation
sdkVersionNoFilter by SDK version

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the full burden. It mentions matching modes but does not disclose whether the tool is read-only, whether authentication is required, what happens with no results, or how results are ordered. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. However, it could be more informative while remaining concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 3 parameters, no output schema, and many siblings, the description is too brief. It lacks information on return format, pagination, default behavior, and how it differs from other search_* tools. Incomplete for effective selection and use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (2 of 3 parameters have descriptions). The description adds no additional parameter semantics beyond what is in the schema. Baseline score 3 is appropriate since coverage is above 50%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool searches 'agent-skills-vrc-udon documentation' with three matching types (keyword, heading, fuzzy). It is specific about the action and resource. However, it does not explicitly differentiate from sibling search tools like search_antipattern or search_best_practice, which are more specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Given many sibling search tools with specific scopes, the description could indicate that this is a general documentation search. Without such context, the agent may select it incorrectly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_examplesC

Search UdonSharp code examples and patterns from the repository

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSearch query for code examples

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral disclosure. It fails to mention whether the tool is read-only, how results are returned, or any limitations. The bare statement 'Search from the repository' does not convey side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core action. It is concise with no redundant phrases. However, it could include more detail without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of many sibling search tools and the lack of an output schema, the description is insufficient. It does not explain the search scope, result format, or how it differs from similar tools, leaving the agent with incomplete context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only the 'query' parameter has a description). The tool description adds no additional semantics for either 'query' or 'limit' beyond what the schema states. The 'limit' parameter's default and bounds are in the schema but not explained in context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'search' and the resource 'UdonSharp code examples and patterns from the repository', distinguishing it from other search siblings focused on different content types like antipatterns or documentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., search_antipattern, search_best_practice). No prerequisites or exclusion criteria are mentioned, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_networkingC

Search networking topics: ownership, sync modes, late joiners, serialization

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesNetworking topic to search

TDQS

C2.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only lists example topics and omits any behavioral traits (e.g., read-only, auth requirements, rate limits, pagination). This leaves the agent with no understanding of side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it lacks structure (e.g., bullet points or sections). It is front-loaded with the verb, but the content is sparse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 50% parameter coverage, the description is severely incomplete. It does not specify what the search returns, how results are formatted, or any behavioral details, leaving the agent with insufficient information to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (query described, limit not). The description adds context for query via examples but does not explain the limit parameter. Overall, parameter meaning beyond schema is minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it searches networking topics and provides specific examples (ownership, sync modes, late joiners, serialization), effectively distinguishing it from sibling search tools like search_antipattern or search_best_practice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The examples imply a scope, but the agent receives no direct 'use this for networking, use others for other topics' instruction, which is critical given the many sibling search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_referenceC

Search reference documentation in the repository

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSearch query for references
skillIdNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It only states 'search reference documentation', with no mention of side effects, permissions, or return characteristics. The minimal information is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, but it is under-specified given the tool's context. Conciseness should not come at the expense of clarity, and here it leaves important details unstated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With many sibling tools and no output schema, the description lacks context about what 'reference documentation' entails and how it differs from other documentation searches. The tool's completeness is inadequate for proper selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only 33% of parameters have descriptions in the schema. The tool description does not add any additional meaning to the parameters beyond what the schema provides, failing to compensate for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Search reference documentation in the repository', clearly specifying the verb (search) and resource (reference documentation). However, it does not differentiate from similar sibling tools like search_documentation or search_examples, which may cause ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. Given many sibling search tools, the lack of usage context is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_sdk_featureC

Search SDK features like NetworkCallable, PlayerData, PhysBones

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSDK feature to search (e.g. NetworkCallable, PlayerData)
sdkVersionNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only says 'Search' which implies read-only, but doesn't confirm non-destructiveness, authentication needs, or response format. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence, no wasted words. However, brevity sacrifices necessary details for a three-parameter tool. Could benefit from additional structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, no annotations, and only 33% parameter coverage. The description does not address return format, error handling, or behavior edge cases (e.g., empty results). Incomplete for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only query has schema description). The tool description adds examples for query but nothing for limit (e.g., pagination) or sdkVersion. Three parameters are inadequately explained beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool searches for SDK features and gives concrete examples (NetworkCallable, PlayerData, PhysBones), making its purpose clear and distinct from sibling tools like search_documentation or search_examples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no context about prerequisites or when not to use it. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_codeC

Validate UdonSharp code using rules parsed from the repository

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesUdonSharp C# code to validate
sdkVersionNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only hints at validation logic ('using rules parsed from the repository') but does not describe side effects, error states, permissions required, return behavior, or any constraints. This is insufficient for a mutation-like operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence. While concise, it omits critical operational details (e.g., output format, error handling) that would be expected for a validation tool. The brevity comes at the cost of usefulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema and annotations, the description should fully describe the tool's behavior and results. It fails to specify what 'validation' entails (e.g., returns errors, passes, warnings). The 2-parameter tool with 50% schema coverage is inadequately documented for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only 'code' has a description; 'sdkVersion' does not). The tool description adds no information about parameters beyond what the schema provides. It does not explain the purpose or format of 'sdkVersion', nor does it clarify any nuances of 'code'. This fails to compensate for the schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Validate UdonSharp code using rules parsed from the repository', providing a specific verb (validate), resource (UdonSharp code), and a distinguishing mechanism (rules from repository). It clearly differentiates from sibling tools like explain_validation or search_best_practice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. There's no mention of prerequisites, context, or when to avoid it. The description lacks any comparative or conditional usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 18 tool updatesv2.1.0
    • First observedexplain_topic
    • First observedexplain_validation
    • First observedget_template
    • First observedlist_rules
    • First observedlist_skills
    • First observedlist_templates
    • First observedread_rule
    • First observedread_skill
    • First observedsdk_matrix
    • First observedsearch_antipattern
    • First observedsearch_best_practice
    • First observedsearch_constraints
    • First observedsearch_documentation
    • First observedsearch_examples
    • First observedsearch_networking
    • First observedsearch_reference
    • First observedsearch_sdk_feature
    • First observedvalidate_code

TDQS

B3.3/5.0

Scored across 18 tools

Disambiguation4/5

Most tools have distinct purposes, but the large number of search tools (e.g., search_documentation, search_reference, search_examples) could cause some confusion despite differentiated descriptions.

Naming Consistency4/5

The vast majority follow a consistent verb_noun pattern (e.g., explain_topic, list_rules). Only 'sdk_matrix' deviates by omitting a verb, slightly breaking the pattern.

Tool Count5/5

With 18 tools, the set covers a wide range of functionalities for UdonSharp assistance—explanations, validation, templates, rules, and various searches—without feeling excessive or insufficient.

Completeness5/5

The tool surface appears comprehensive for its domain, covering explainability, validation, templates, rules, skills, SDK info, and multiple search categories with no obvious gaps in read-only knowledge retrieval.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    MCP server for discovering and installing AI agent skills from agentskill.sh. Search skills across platforms, browse trending skills, and install them with built-in security scanning.
    4
    17 npm
    3
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Agent-first skill marketplace MCP server. AI agents discover, install, and share skills across 7 platforms via MCP protocol. 15 tools including skill search, download, upload, and agent discovery.
    18
    4
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    This MCP server enables AI agents to search, discover, and install skills from the SkillsMP marketplace, with support for keyword and semantic search, skill content retrieval, and installation to various coding agents.
    5
    144 npm
    3
    MIT