VRChat Project MCP
VRChat Project MCP
Complemento MCP (Model Context Protocol) para el editor de Unity, orientado al desarrollo de modelos de VRChat.
Expone 49 herramientas a agentes de IA externos a través de un servicio HTTP integrado (JSON-RPC 2.0 / SSE), que cubren:
Capacidades generales de proyectos Unity: información del proyecto, consulta y edición de escenas/objetos/componentes, gestión de assets, diagnóstico de registros de consola (alineado con las capacidades
manage_scene / manage_gameobject / manage_asset / manage_editorde los plugins tipo unity-mcp existentes);Capacidades específicas de VRChat: informe detallado del avatar (menús/parámetros/vinculaciones/rendimiento/uso de recursos/plugins instalados), edición de parámetros de componentes como MA / VRCFury, y creación/duplicación/edición/vinculación de menús de expresiones y archivos de parámetros de expresiones.
Implementación en C# puro, cero dependencias de terceros (no introduce ninguna biblioteca como Python / JS / Newtonsoft.Json), compatible con Unity 2022.3 y Unity 6 (editor de Windows / macOS / Linux).
Tabla de contenido
Related MCP server: unityxclaude
Características principales
Característica | Descripción |
Servicio de puerto HTTP | Servidor HTTP/1.1 integrado escrito a mano (basado en |
Cero dependencias | C# puro; el análisis y la serialización de JSON son implementaciones integradas; no depende de ningún paquete Unity de terceros ni de ningún runtime externo |
Compatibilidad | Unity 2022.3 (.NET Standard 2.1 / C# 9) y Unity 6; solo para el editor, no afecta a las compilaciones de runtime |
Anotación del tipo de herramienta | Cada herramienta se anota como |
Control de permisos | El panel de configuración permite alternar entre los modos solo lectura / lectura y escritura; en modo de solo lectura, el servidor rechaza directamente todas las herramientas de escritura (devuelve |
Seguridad del hilo principal | Todas las llamadas a la API de Unity se ejecutan mediante el planificador del hilo principal; los subprocesos de trabajo HTTP nunca tocan directamente la API de Unity |
Sin dependencia en tiempo de compilación de VRChat | Las lecturas y escrituras de VRCSDK3 / Modular Avatar / VRCFury se realizan íntegramente mediante |
Registros en tiempo real | El panel de configuración incluye un cuadro de registros en tiempo real (conexiones/llamadas/rechazos/errores, mostrados con colores diferenciados) y, además, reenvía la consola de Unity |
Extensible | Tres vías de extensión: anotación por atributos ( |
Instalación
Opción 1: paquete local UPM (recomendada)
Copie este repositorio a cualquier ubicación (por ejemplo,
../vrchat-project-mcpjunto al proyecto);En el proyecto de Unity, abra
Window → Package Manager → + → Add package from disk…y seleccionepackage.jsonde este directorio;O bien, añada directamente lo siguiente a
Packages/manifest.jsondel proyecto:
{
"dependencies": {
"com.vrchat-project.mcp": "file:../../vrchat-project-mcp"
}
}Opción 2: colocar directamente en Assets
Copie la carpeta completa en el directorio Assets/ del proyecto (por ejemplo, Assets/vrchat-project-mcp/) y Unity la compilará automáticamente. package.json puede conservarse o eliminarse.
Opción 3: URL de Git (UPM)
Tras enviar el repositorio a un servicio de Git, en Package Manager seleccione Add package from git URL… e indique la dirección del repositorio.
Una vez completada la instalación, en la barra de menús aparece Tools → VRChat Project MCP (Panel de configuración / Iniciar servidor / Detener servidor).
Inicio rápido
Abra Tools → VRChat Project MCP → Panel de configuración;
Confirme la dirección de escucha predeterminada
127.0.0.1:8765y los permisos de operación (lectura y escritura por defecto);Haga clic en Iniciar servidor (si tiene activada la opción «Iniciar el servicio automáticamente al iniciar el editor», ya se habrá ejecutado automáticamente);
Abra http://127.0.0.1:8765/ en el navegador para ver la página de información en chino;
GET /healthdevuelve el estado en JSON;Haga que su agente realice llamadas a través de HTTP (consulte los ejemplos en Ejemplo de integración de cliente):
POST http://127.0.0.1:8765/mcp
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","clientInfo":{"name":"my-agent","version":"1.0"}}}Después, use tools/list para ver todas las herramientas y tools/call para ejecutarlas. El agente puede llamar primero a mcp.get_status para conocer el modo del servicio y el listado de herramientas, usar unity.get_console_logs para diagnosticar errores y usar vrc.get_avatar_info para generar el informe del avatar.
Panel de configuración
Tools → VRChat Project MCP → 配置面板:
Elemento de configuración | Descripción |
Dirección de escucha | Por defecto |
Puerto | Por defecto |
Permisos de operación | Solo lectura (rechaza todas las herramientas de escritura) / Lectura y escritura (permite consultas y escrituras). Los cambios se aplican de inmediato; el servidor los bloquea en tiempo real |
Inicio automático | Inicia el servicio automáticamente al iniciar el editor |
Cuadro de registros en tiempo real | Muestra en tiempo real eventos de conexión, llamada, rechazo y error; admite desplazamiento automático y vaciado |
Acciones rápidas | Iniciar / Detener / Reiniciar / Copiar endpoint MCP / Vaciar registros |
Los cambios en la dirección de escucha y el puerto requieren hacer clic en «Reiniciar» para surtir efecto; los cambios en el modo de permisos se aplican de inmediato. Toda la configuración se guarda de forma aislada por proyecto en EditorPrefs.
Endpoints HTTP y protocolo
Endpoint | Método | Descripción |
| POST | Streamable HTTP (MCP 2025-03-26): solicitud JSON → respuesta JSON; si el encabezado de la solicitud |
| DELETE | Fin de sesión (este servicio no tiene estado; devuelve 200 directamente) |
| GET | HTTP+SSE tradicional (MCP 2024-11-05): establece una conexión larga y envía el evento |
| POST | Canal cliente→servidor del transporte SSE tradicional; devuelve 202 y el resultado se escribe de vuelta mediante eventos SSE |
| GET | JSON de comprobación de estado (estado/modo/número de herramientas/lista de endpoints) |
| GET | Página de información en chino |
Protocolo: MCP sobre JSON-RPC 2.0, flujo
initialize → notifications/initialized → tools/list → tools/call;Admite solicitudes de arrays por lotes; versiones de protocolo compatibles:
2024-11-05 / 2025-03-26 / 2025-06-18(devuelve la versión del cliente);Todas las respuestas incluyen cabeceras CORS (como
Access-Control-Allow-Origin: *), por lo que los clientes de navegador (por ejemplo, MCP Inspector) pueden acceder directamente.
Listado de herramientas
Columna de tipo:
查询= operación segura de solo lectura;写入= modifica la escena/los assets/el proyecto, rechazada por el servidor en modo de solo lectura; se recomienda una segunda confirmación al usuario antes de que el agente la invoque.
Herramientas meta de MCP (mcp)
Herramienta | Tipo | Descripción |
| Consulta | Estado de ejecución del servicio, modo de acceso, listado completo de herramientas (con anotación de lectura/escritura) y endpoints |
| Consulta | Vuelve a escanear los ensamblados y actualiza el registro de herramientas (se invoca después de añadir o eliminar extensiones) |
Unity general (unity)
Herramienta | Tipo | Descripción |
| Consulta | Información básica del proyecto (nombre del producto/versión de Unity/plataforma/escenas de compilación/estadísticas de assets) |
| Consulta | Lista de paquetes UPM instalados (incluye la detección de paquetes relacionados con VRChat) |
| Consulta | Memoria del proceso/memoria administrada/estadísticas de objetos y componentes de la escena/cantidad de assets por tipo/selección actual |
| Consulta | Registros de la consola (buffer circular en memoria + final del archivo Editor.log), con filtros por nivel/palabra clave |
| Consulta | Información de la escena activa (nombre/ruta/estadísticas de objetos/objetos raíz/estadísticas Top de componentes) |
| Consulta | Lista los objetos de la escena filtrando por nombre/palabra clave de componente (incluye los inactivos) |
| Consulta | Información completa del objeto (transform/lista de componentes/campos serializados de cada componente) |
| Consulta | Objetos seleccionados actualmente en el editor |
| Escritura | Establece la selección (ruta de asset / #ID de instancia / ruta de escena) |
| Escritura | Configuración genérica de campos serializados (objetos de escena y assets de prefab, con guardado automático); admite rutas |
| Escritura | Establece el transform del objeto (posición/rotación de Euler/escala) |
| Escritura | Crea un GameObject (se puede especificar el padre y los componentes iniciales) |
| Escritura | Destruye objetos de la escena (los assets de prefab se rechazan por defecto) |
| Escritura | Guarda un prefab a partir de un objeto de la escena |
| Escritura | Instancia un prefab en la escena |
| Escritura | Abre una escena (opcionalmente guarda la escena actual primero) |
| Escritura | Guarda la escena actual |
| Escritura | Ejecuta un elemento de menú del editor (por ejemplo, |
| Consulta | Busca y lista assets (filtros por tipo/carpeta/palabra clave) |
| Consulta | Detalles del asset (tipo/tamaño/dependencias/importador/resumen del prefab) |
| Consulta | Lee archivos de texto dentro del proyecto (limitado a Assets/, Packages/, ProjectSettings/) |
| Escritura | Crea assets (AnimatorController/Material/PhysicMaterial/AnimationClip/cualquier ScriptableObject) |
| Escritura | Crea un archivo de script C# (plantilla de MonoBehaviour, espacio de nombres opcional) |
| Escritura | Copia assets (añade un número automáticamente si hay nombres duplicados) |
| Escritura | Elimina assets (por defecto los mueve a la papelera de reciclaje) |
| Escritura | Crea carpetas dentro de Assets (nivel por nivel) |
| Escritura | Guarda y actualiza la base de datos de assets |
Específico de VRChat (vrc)
Herramienta | Tipo | Descripción |
| Consulta | Lista los avatares en la escena y en los prefabs del proyecto (VRCAvatarDescriptor / descriptores antiguos) |
| Consulta | Detalles completos del avatar: campos del descriptor / capas de animación / árbol de menú de expresiones / parámetros de expresiones / estadísticas de rendimiento / estadísticas de huesos de renderizado / componentes de plugins como MA·VRCFury — para que el agente genere informes y sugerencias |
| Consulta | Estadísticas de rendimiento (conteo y nivel de polígonos/huesos/materiales/PhysBone/colisionadores; prioriza el cálculo oficial del SDK, de lo contrario estima según los umbrales oficiales y lo marca) |
| Consulta | Detección de versiones de SDK/plugins relacionados con VRChat (VRCSDK/MA/VRCFury/Poiyomi/DynamicBone/AAO, etc.) |
| Consulta | Parámetros serializados completos del componente especificado (MA/VRCFury/PhysBone, etc.) |
| Escritura | Modifica campos serializados de cualquier componente (MA/VRCFury, etc.) (los enumerados se usan por nombre, las referencias de recursos por ruta de activo) |
| Consulta | Lista los activos de menú de expresiones (VRCExpressionsMenu) del proyecto |
| Consulta | Lee la estructura del menú (tipo de control/parámetro/valor/icono/submenú/etiqueta, con soporte recursivo) |
| Escritura | Crea un activo de menú de expresiones |
| Escritura | Copia un activo de menú de expresiones |
| Escritura | Añadir/modificar/eliminar controles de menú (Button/Toggle/SubMenu/TwoAxisPuppet/FourAxisPuppet/RadialPuppet, incluyendo labels y subParameters) |
| Escritura | Vincula activos de menú/parámetros al descriptor del avatar (admite objetos de escena y prefabs) |
| Consulta | Lista los activos de parámetros de expresiones (VRCExpressionParameters) del proyecto |
| Consulta | Lee la lista de parámetros (nombre/tipo Int·Float·Bool/valor predeterminado/si se guarda) |
| Escritura | Crea un activo de parámetros de expresiones |
| Escritura | Copia un activo de parámetros de expresiones |
| Escritura | Añadir/modificar/eliminar parámetros de expresiones |
| Consulta | Lee todos los parámetros del componente ModularAvatarParameters |
| Escritura | Añadir/modificar/eliminar parámetros MA (syncType se establece por nombre; los valores no válidos listarán los valores disponibles para esa versión) |
Ejemplo de extensión (example)
Herramienta | Tipo | Descripción |
| Consulta | Ejemplo de extensión (demuestra el registro de herramientas personalizadas; se puede eliminar |
Ejemplos de invocación comunes
// 读取头像报告
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
"name":"vrc.get_avatar_info",
"arguments":{"target":"Assets/MyAvatar.prefab","includeStats":true}}}
// 改 MA 参数默认值(写入,只读模式会被拒绝)
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
"name":"vrc.set_component_property",
"arguments":{"target":"Assets/MyAvatar.prefab","componentType":"ModularAvatarParameters",
"propertyPath":"parameters.Array.data[0].defaultValue","value":1.0}}}
// 给表情菜单加一个开关
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{
"name":"vrc.set_menu_control",
"arguments":{"menuPath":"Assets/Menus/Main.asset","action":"add",
"control":{"name":"开关","type":"Toggle","parameter":"MyParam"}}}}
// 排查控制台报错
{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{
"name":"unity.get_console_logs",
"arguments":{"level":"Error","maxLines":50}}}Modo de solo lectura / lectura-escritura
El servidor comprueba el modo de acceso actual antes de ejecutar cualquier herramienta de escritura; en modo de solo lectura devuelve directamente un resultado
isError:
{
"content": [{"type":"text","text":"当前为【只读】模式,已拒绝写入类工具调用「vrc.set_parameter」。…"}],
"isError": true,
"structuredContent": {"error": {"code":"permission_denied","access":"write","mode":"readonly"}}
}Estrategia recomendada para el agente: llamar a
tools/listomcp.get_statuspara obtener el_meta.accessde cada herramienta; para las herramientas de tipowrite, confirmar primero con el usuario, y no es necesario implementar la interceptación de nuevo en el cliente (el servidor ya lo cubre).
Ejemplos de integración de cliente
curl (modo JSON)
# 握手
curl -s http://127.0.0.1:8765/mcp -H "Content-Type: application/json" -d \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","clientInfo":{"name":"curl","version":"1"}}}'
# 工具清单(注意每个工具 description 前缀的【查询】/【写入】与 _meta.access)
curl -s http://127.0.0.1:8765/mcp -H "Content-Type: application/json" -d \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# 调用工具
curl -s http://127.0.0.1:8765/mcp -H "Content-Type: application/json" -d \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp.get_status"}}'curl (modo SSE)
# Accept 带 text/event-stream 时响应为 SSE 事件流
curl -sN http://127.0.0.1:8765/mcp -H "Accept: text/event-stream" \
-H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'MCP Inspector (navegador)
Abre MCP Inspector, selecciona Streamable HTTP como transporte, y en URL pon http://127.0.0.1:8765/mcp (este servicio ya incluye soporte CORS).
Claude Desktop / otros clientes que solo admiten stdio
Usa una herramienta puente de la comunidad para convertir HTTP MCP a stdio (la herramienta puente se ejecuta en el lado del cliente, no afecta la dependencia cero de este plugin):
npx mcp-remote http://127.0.0.1:8765/sseO usa un agente propio para llamar directamente por HTTP (POST /mcp, consulta el flujo JSON-RPC anterior).
Guía de extensión
El plugin reserva tres niveles de puntos de extensión, sin necesidad de modificar el código fuente del plugin para añadir capacidades:
Método 1: anotación de atributo [McpTool] (recomendado)
Define métodos estáticos públicos en cualquier código que haga referencia al ensamblado VrchatProjectMcp.Core y anótalos con el atributo; el plugin los escanea y registra automáticamente al iniciarse o al llamar a mcp.refresh_tools:
using VrchatProjectMcp.Core.Json;
using VrchatProjectMcp.Core.Mcp;
public static class MyTools
{
// access 必须标明:Query(查询)或 Write(写入,只读模式会被服务端拒绝)
[McpTool("mytools.check_avatar", McpToolAccess.Query, "mytools", "检查头像…")]
public static object Check([McpParam("头像路径")] string path = null)
{
return new JsonObject().Set("ok", true);
}
}Método 2: interfaz IMcpToolProvider
Adecuado para escenarios donde se decide dinámicamente el conjunto de herramientas (por ejemplo, "registrar la herramienta correspondiente solo después de detectar que un plugin está instalado"):
public sealed class MyProvider : IMcpToolProvider
{
public IEnumerable<McpToolDefinition> RegisterTools()
{
var def = new McpToolDefinition
{
Name = "mytools.dynamic",
Access = McpToolAccess.Write,
Category = "mytools",
Description = "动态注册示例",
};
def.Parameters.Add(new McpParamDefinition { Name = "x", JsonType = "string", Required = true });
def.Handler = args => new JsonObject().Set("done", true);
yield return def;
}
}Un ejemplo completo y ejecutable se encuentra en Editor/Tools/Examples/ExampleExtensionTools.cs.
Método 3: registro en tiempo de ejecución / recursos personalizados / endpoints HTTP personalizados
// 运行时注册工具
McpToolRegistry.Instance.RegisterTool(myDefinition);
// 注册 MCP 资源(resources/list 可见,Agent 可 resources/read)
McpToolRegistry.Instance.Resources.Add(new McpResourceDefinition
{
Uri = "mcp://my-report",
Name = "我的报告",
ReadHandler = () => new JsonObject().Set("data", 123),
});
// 自定义 HTTP 端点(需服务已启动)
McpServerController.Server?.AddHandler("GET", "/my-endpoint", ctx =>
{
// ctx.BodyText 读取请求体;用 McpServerController.Server.WriteResponse(...) 写响应
});Alcance del escaneo: solo se escanean los ensamblados que "hacen referencia al ensamblado VrchatProjectMcp.Core", no se recorren todos los tipos de Unity, el costo es controlable.
Compatibilidad y limitaciones conocidas
Elemento | Descripción |
Versión de Unity | 2022.3 (.NET Standard 2.1 / C# 9) y Unity 6 (todo el código está escrito en sintaxis C# 9 y se compiló y verificó localmente con LangVersion 9.0) |
Plataforma | Windows / macOS / Linux editor (el servidor HTTP usa |
Modo de reproducción | El servicio también está disponible en modo de reproducción; pero las escrituras en la escena en modo de reproducción se pierden al salir del modo de reproducción, ten cuidado |
Dependencias de compilación | Cero dependencias en tiempo de compilación de VRCSDK3 / MA / VRCFury; si no están instalados, las herramientas relacionadas devuelven un error claro (no afecta el uso del plugin en sí) |
Estadísticas de rendimiento | Prioriza la llamada por reflexión a |
Creación y edición de activos de menú/parámetros | Requiere que el proyecto tenga instalado VRChat SDK3 (estos tipos de activos los define el SDK); los avatares antiguos de SDK2 solo admiten lectura de información |
Escaneo de prefabs | El escaneo de prefabs de |
Operaciones con diálogos | La ejecución de herramientas tiene un tiempo de espera de 120 segundos en el hilo principal; las operaciones que involucran diálogos modales pueden agotar el tiempo (el plugin evita mostrar diálogos dentro de las herramientas) |
Recursos persistentes | Las conexiones largas SSE se establecen bajo demanda; antes de la recarga de dominio, el servicio se detiene y limpia automáticamente para evitar que queden puertos ocupados |
Consejos de seguridad
Por defecto solo escucha en
127.0.0.1: solo los procesos locales pueden acceder. Cambiarlo a0.0.0.0expondrá el servicio a todos los dispositivos de la red local; asegúrate de entender los riesgos;Este plugin actualmente no incluye autenticación (la práctica estándar de la comunidad MCP es que el proxy del lado del cliente maneje la autenticación). Si se expone a Internet, añade autenticación en la capa de proxy inverso;
El modo de solo lectura es la última salvaguarda, pero aún se recomienda que el agente obtenga confirmación del usuario antes de operaciones de escritura;
unity.read_text_assetsolo permite leer archivos enAssets/,Packages/,ProjectSettings/, no puede leer archivos del sistema fuera de esos directorios.
Estructura del proyecto
vrchat-project-mcp/
├── package.json # UPM 包清单(unity ≥ 2022.3,零依赖)
├── README.md # 本文档
├── LICENSE # MIT
├── Runtime/ # 纯 C# 协议层(noEngineReferences,无 Unity 依赖)
│ ├── VrchatProjectMcp.Core.asmdef
│ ├── Mcp/
│ │ ├── Json/MiniJson.cs # 内置 JSON 解析/序列化(零依赖)
│ │ ├── McpTypes.cs # 模式枚举/权限接口/资源定义/扩展接口
│ │ ├── McpToolAttribute.cs # [McpTool]/[McpParam] 特性(扩展方式二)
│ │ ├── McpToolDefinition.cs # 工具定义 + inputSchema 生成 + 参数绑定
│ │ ├── McpToolRegistry.cs # 扫描/注册/权限门控/调用执行
│ │ ├── JsonRpcCore.cs # JSON-RPC 2.0 分发(initialize/tools/resources)
│ │ └── IMcpLogger.cs # 日志接口(宿主实现)
│ └── Net/
│ ├── SimpleHttpServer.cs # TcpListener 手写 HTTP/1.1 服务器(SSE/CORS/chunked)
│ └── McpHttpEndpoints.cs # /mcp /sse /message /health / 端点
├── Editor/ # Unity 编辑器层
│ ├── VrchatProjectMcp.Editor.asmdef
│ ├── Core/
│ │ ├── McpMainThreadDispatcher.cs # 主线程调度(HTTP 线程 → Unity 主线程)
│ │ └── McpServerController.cs # 生命周期控制/组装/内置资源/菜单项
│ ├── Settings/
│ │ ├── McpSettings.cs # 配置(EditorPrefs 持久化,按项目隔离)
│ │ └── McpSettingsWindow.cs # 配置面板(地址/端口/权限/实时日志)
│ ├── Logging/
│ │ ├── McpEditorLogger.cs # 日志器(窗口富文本 + Unity 控制台)
│ │ └── McpConsoleCapture.cs # 控制台日志环形缓冲采集
│ └── Tools/
│ ├── ToolHelpers.cs # 目标解析/序列化读写/预制件编辑等公共辅助
│ ├── McpMetaTools.cs # mcp.* 元工具
│ ├── UnityProjectTools.cs # unity.* 项目/包/资源/日志
│ ├── UnitySceneTools.cs # unity.* 场景/对象/组件/预制件
│ ├── UnityAssetTools.cs # unity.* 资产
│ ├── Vrc/
│ │ ├── VrcReflection.cs # VRChat SDK 类型反射(无编译期依赖)
│ │ ├── VrcCoreTools.cs # vrc.* 头像/性能/插件探测/组件读写
│ │ ├── VrcMenuTools.cs # vrc.* 表情菜单 新建/复制/编辑/绑定
│ │ ├── VrcParameterTools.cs # vrc.* 表情参数 新建/复制/编辑
│ │ └── VrcMaTools.cs # vrc.ma_* MA 参数
│ └── Examples/
│ └── ExampleExtensionTools.cs# 扩展示例(可删除)
└── DevTests~/ # 开发期冒烟测试(目录名带 ~ 后缀,Unity 不会导入,非包内容)
└── CoreSanity/ # Core 协议层 37 项端到端测试(dotnet 工程)
DevTests~usa el sufijo~según la convención de UPM; Unity ignora por completo ese directorio al importar el paquete. Para ejecutar pruebas localmente:dotnet run --project DevTests~/CoreSanity/CoreSanity.csproj.
FAQ
P: ¿Por qué no usar HttpListener / WebSocket?
En el nivel de API .NET Standard 2.1 de Unity 2022/Unity 6, HttpListener no está disponible; WebSocket requiere una biblioteca de terceros. TcpListener + HTTP/1.1 escrito a mano es la solución más estable y sin dependencias entre versiones.
P: ¿El plugin se incluirá en el paquete del juego?
No. La lógica principal está en el ensamblado del Editor (includePlatforms: ["Editor"]); aunque la capa de protocolo está en el directorio Runtime, solo la referencia el Editor, por lo que no entra en el jugador al compilar.
P: ¿Por qué marcar el tipo de herramienta incluso en modo de solo lectura? El marcado de tipo sirve para la decisión del agente (si confirmar dos veces, si intentar llamar), la interceptación del servidor es una salvaguarda de respaldo; la combinación de ambos es más segura.
P: ¿Se puede usar sin VRChat SDK? Sí. Todas las herramientas generales de Unity están disponibles; entre las herramientas de VRChat, «información de avatar / lectura-escritura de componentes / detección de plugins» funcionan lo mejor posible (por reflexión de nombres de tipo), «creación y edición de activos de menú/parámetros» devolverá un aviso claro.
P: ¿Cómo solucionar fallos de llamada del agente?
Mira el cuadro de registro en tiempo real del panel de configuración (imprime cada conexión y llamada), o haz que el agente llame a unity.get_console_logs para leer la consola y Editor.log.
P: ¿Qué hago si el puerto está ocupado?
Cambia el puerto en el panel de configuración y haz clic en «Reiniciar»; o pon el puerto 0 para asignación automática (el puerto real se muestra en la barra de estado).
Historial de versiones
0.1.0 (versión inicial): servicio MCP HTTP (JSON/SSE), 27 herramientas generales de Unity, 19 herramientas específicas de VRChat, 2 metaherramientas, 1 ejemplo de extensión; control de permisos de solo lectura/lectura-escritura; panel de configuración y registro en tiempo real; puntos de extensión; comentarios y documentación en chino.
Licencia
MIT (ver LICENSE).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides 20 tools to control the Unity Editor with natural language, including scene management, component manipulation, script generation, asset handling, project settings, builds, and live C# execution.2MIT
- AlicenseNot gradedqualityCmaintenanceA local MCP server for Unity Editor that provides 20 editor tools to control scripts, scenes, components, assets, and builds.2MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for Unity that enables AI agents to query and control the Unity Editor, providing tools for scene management, object manipulation, and asset browsing.MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for safely inspecting and editing Unity/VRChat prefabs, scenes, and assets. It diagnoses override collisions, broken references, and runtime exceptions, with read-only YAML analysis and write operations via an Editor Bridge.11MIT
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dpwgc/vrchat-project-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server