内容
# VRChat Udon MCP
Servidor [Model Context Protocol (MCP)](https://modelcontextprotocol.io) que expone el repositorio [agent-skills-vrc-udon](https://github.com/niaka3dayo/agent-skills-vrc-udon) como interfaz MCP para desarrollo UdonSharp en VRChat.
**El repositorio `agent-skills-vrc-udon` es la única fuente de verdad.** Este MCP no contiene documentación hardcodeada: indexa, busca y valida dinámicamente todo el contenido del repositorio.
## 特性
- **18 种 MCP 工具** 由仓库驱动
- **动态 MCP 资源** (技能,规则,速查表,模板,SDK 矩阵)
- `skills/`、`rules/`、`references/`、`templates/`、`hooks/`、`assets/` 的递归索引
- 带有排名的 MiniSearch:标题 > 标题 > 正文
- 从仓库规则(表格 + hooks)验证代码
- 文件监视器,自动重建索引
- 远程仓库的 Git 同步
- 严格的 TypeScript,Vitest,ESLint,Prettier
## 要求
- **Node.js** 22+
- **pnpm** 9+
- **git** (用于同步文档)
## 安装
```bash
git clone https://github.com/MauDevVR/vrchat-udon-mcp.git
cd vrchat-udon-mcp
pnpm install
pnpm update-docs # 克隆/更新 agent-skills-vrc-udon
pnpm build-index # 构建搜索索引
pnpm build
```
## 配置
编辑 `config.json`:
```json
{
"repository": {
"url": "https://github.com/niaka3dayo/agent-skills-vrc-udon",
"path": "./agent-skills-vrc-udon",
"branch": "main"
},
"sdkVersion": "3.10.4",
"language": "zh",
"watch": true,
"indexPath": "./data/indexes",
"search": {
"fuzzy": 0.2,
"headingWeight": 3.0,
"titleWeight": 2.5,
"exampleWeight": 1.5,
"ruleWeight": 2.0,
"skillWeight": 2.5,
"cheatsheetWeight": 2.5,
"maxResults": 20
}
}
```
| 字段 | 描述 |
|-------|-------------|
| `repository.url` | 源仓库 URL |
| `repository.path` | 克隆仓库的本地路径 |
| `repository.branch` | 要同步的分支 |
| `sdkVersion` | 默认 SDK 版本用于过滤 |
| `watch` | 检测仓库变化时重建索引 |
| `indexPath` | 持久化索引文件夹 |
您也可以使用环境变量 `UDON_MCP_CONFIG` 指向其他配置文件。
## 仓库同步
```bash
# 克隆或更新 agent-skills-vrc-udon 并重建索引
pnpm update-docs
# 仅重建索引(无 git pull)
pnpm build-index
```
仓库被克隆到 `./agent-skills-vrc-udon` (可配置)。新文件在没有代码变更的情况下自动索引。
## 使用
```bash
pnpm start # 启动 MCP 服务器(stdio)
pnpm dev # 开发模式,热重载
pnpm test # 运行 Vitest 测试
```
## 与 IDE 集成
### Cursor
在 **Cursor Settings → MCP** 中添加:
```json
{
"mcpServers": {
"vrchat-udon": {
"command": "node",
"args": ["C:/path/to/vrchat-udon-mcp/dist/index.js"],
"env": {}
}
}
}
```
确保在运行 `pnpm update-docs`、`pnpm build-index` 和 `pnpm build` 之前。
### Claude Desktop
在 `%APPDATA%\Claude\claude_desktop_config.json` (Windows)或 `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):
```json
{
"mcpServers": {
"vrchat-udon": {
"command": "node",
"args": ["/path/to/vrchat-udon-mcp/dist/index.js"]
}
}
}
```
### ChatGPT Desktop
配置一个类似的 stdio MCP 服务器,指向 `dist/index.js`。
## MCP 工具
| 工具 | 描述 |
|-------------|-------------|
| `search_documentation` | 整个文档的关键词/模糊搜索 |
| `explain_topic` | 带有引用(路径,标题,行)的解释 |
| `list_skills` | 自动发现技能 |
| `read_skill` | 读取 SKILL.md,包含元数据,规则,引用,模板 |
| `list_rules` | 列出 UdonSharp 规则 |
| `read_rule` | 读取规则,包含约束和示例 |
| `search_reference` | 在 references/ 中搜索 |
| `list_templates` | 列出 .cs 模板 |
| `get_template` | 获取完整代码模板 |
| `validate_code` | 使用仓库规则验证代码 |
| `explain_validation` | 引用源规则解释失败 |
| `sdk_matrix` | 从 templates/AGENTS.md 获取 SDK 版本矩阵 |
| `search_sdk_feature` | 搜索功能(NetworkCallable,PlayerData 等) |
| `search_constraints` | 搜索约束(List,Coroutine 等) |
| `search_networking` | 搜索网络和同步主题 |
| `search_examples` | 搜索代码示例 |
| `search_best_practice` | 搜索推荐模式 |
| `search_antipattern` | 搜索反模式 |
## MCP 资源
- `udon://skills/{id}` — 每个技能的 SKILL.md
- `udon://rules/{id}` — 规则文件
- `udon://sdk/matrix` — SDK 版本矩阵
- `udon://templates/index` — 模板索引
- `udon://cheatsheet/{id}` — 每个技能的 CHEATSHEET.md
## 架构
```
agent-skills-vrc-udon/ ← 真实源(git 克隆)
↓
KnowledgeParser ← 递归索引所有文件
↓
DocsRepository ← 在 data/indexes/ 中持久化索引
↓
SearchEngine (MiniSearch) ← 带权重的搜索
RuleParser ← 来自 hooks/ 和规则表格的规则
↓
MCP Tools (18) ← AI 代理接口
```
## 脚本
| 脚本 | 描述 |
|--------|-------------|
| `pnpm build` | 编译 TypeScript |
| `pnpm start` | 启动 MCP 服务器 |
| `pnpm test` | Vitest 测试 |
| `pnpm update-docs` | 源仓库的 git 克隆/拉取 |
| `pnpm build-index` | 重建搜索索引 |
| `pnpm lint` | ESLint |
| `pnpm format` | Prettier |
## 致谢
- 文档和技能:[niaka3dayo/agent-skills-vrc-udon](https://github.com/niaka3dayo/agent-skills-vrc-udon)
- MCP 服务器:[MauDevVR/vrchat-udon-mcp](https://github.com/MauDevVR/vrchat-udon-mcp)
## 许可
MIT