@weppy/roblox-mcp 1.2.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +28 -0
- package/docs/en/sync/overview.md +24 -0
- package/docs/es/sync/overview.md +24 -0
- package/docs/id/sync/overview.md +24 -0
- package/docs/ja/sync/overview.md +24 -0
- package/docs/ko/sync/overview.md +24 -0
- package/docs/pt-br/sync/overview.md +24 -0
- package/package.json +1 -1
- package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
- package/plugins/weppy-roblox-mcp/dist/index.js +49 -53
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Roblox MCP server and tools for AI-powered game development",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.3.0"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "weppy-roblox-mcp",
|
|
14
14
|
"source": "./plugins/weppy-roblox-mcp",
|
|
15
15
|
"description": "MCP server for Roblox Studio integration - AI-powered game development with specialized agents and skills",
|
|
16
|
-
"version": "1.
|
|
16
|
+
"version": "1.3.0",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "hope1026"
|
|
19
19
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -4,11 +4,39 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
## [1.3.0] - 2026-03-06
|
|
7
8
|
|
|
9
|
+
### Breaking Changes
|
|
8
10
|
|
|
11
|
+
- Sync file format now uses nested directory structure for all objects — each instance is represented as its own directory (e.g., `Part/Part.props.json` instead of flat files)
|
|
12
|
+
- Duplicate sibling instances are now distinguished using `~N` suffix encoding (Odd-Count Tilde Rule) — e.g., `Part~1/`, `Part~2/`, `Part~3/`
|
|
13
|
+
- Existing sync data will be regenerated automatically (no migration from v1)
|
|
9
14
|
|
|
15
|
+
### Improvements
|
|
10
16
|
|
|
17
|
+
- Enhance sync stability and performance for bidirectional file synchronization
|
|
18
|
+
- Improve sync child indexing and collision handling
|
|
19
|
+
- Refine analytics tracking for tool usage
|
|
11
20
|
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
- Improve error handling and resilience during MCP tool execution
|
|
24
|
+
- Fix license token cache and Pro auth flow issues
|
|
25
|
+
- Resolve sync errors on concurrent file changes
|
|
26
|
+
- Fix duplicated instance name handling in sync index
|
|
27
|
+
- Fix various edge cases in sync change processing
|
|
28
|
+
|
|
29
|
+
### Plugin
|
|
30
|
+
|
|
31
|
+
- Improve plugin icons and UI refinements
|
|
32
|
+
- Clean up unused files and modules
|
|
33
|
+
- General plugin stability improvements
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## [1.2.3] - 2026-03-02
|
|
37
|
+
|
|
38
|
+
Other Changes
|
|
39
|
+
- improved UI, security, and overall stability
|
|
12
40
|
|
|
13
41
|
|
|
14
42
|
## [1.2.2] - 2026-03-01
|
package/docs/en/sync/overview.md
CHANGED
|
@@ -110,6 +110,30 @@ When changes are detected on both Studio and local sides during bidirectional sy
|
|
|
110
110
|
- Inspect target file with `read_file`
|
|
111
111
|
- Restore content with `write_file`, then verify Studio state
|
|
112
112
|
|
|
113
|
+
## File format (v2 nested directory)
|
|
114
|
+
|
|
115
|
+
Each Roblox instance is stored as its own directory containing meta files:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
explorer/
|
|
119
|
+
├── Workspace/
|
|
120
|
+
│ ├── _tree.json
|
|
121
|
+
│ ├── Part/
|
|
122
|
+
│ │ └── Part.props.json
|
|
123
|
+
│ ├── MyScript/
|
|
124
|
+
│ │ └── MyScript.server.luau
|
|
125
|
+
│ └── Coins/
|
|
126
|
+
│ └── Coins.value.json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Naming conventions:
|
|
130
|
+
- Props: `{Name}/{Name}.props.json`
|
|
131
|
+
- Scripts: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
|
|
132
|
+
- Values: `{Name}/{Name}.value.json`
|
|
133
|
+
|
|
134
|
+
Duplicate instance names use `~N` suffix on the directory (e.g. `Part~2/Part.props.json`).
|
|
135
|
+
Names containing `~` are escaped to `~~` (e.g. `Part~2` becomes `Part~~2/`). The Odd-Count Tilde Rule applies: a trailing `~+N` is a collision suffix only when the tilde count is odd.
|
|
136
|
+
|
|
113
137
|
## Related docs
|
|
114
138
|
|
|
115
139
|
- [Tools Overview](../tools/overview.md)
|
package/docs/es/sync/overview.md
CHANGED
|
@@ -110,6 +110,30 @@ Cuando se detectan cambios tanto en Studio como en local durante la sincronizaci
|
|
|
110
110
|
- Inspecciona archivo objetivo con `read_file`
|
|
111
111
|
- Restaura contenido con `write_file` y verifica en Studio
|
|
112
112
|
|
|
113
|
+
## Formato de archivos (v2 nested directory)
|
|
114
|
+
|
|
115
|
+
Cada instancia de Roblox se almacena como su propio directorio con archivos meta dentro:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
explorer/
|
|
119
|
+
├── Workspace/
|
|
120
|
+
│ ├── _tree.json
|
|
121
|
+
│ ├── Part/
|
|
122
|
+
│ │ └── Part.props.json
|
|
123
|
+
│ ├── MyScript/
|
|
124
|
+
│ │ └── MyScript.server.luau
|
|
125
|
+
│ └── Coins/
|
|
126
|
+
│ └── Coins.value.json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Convenciones de nombres:
|
|
130
|
+
- Propiedades: `{Name}/{Name}.props.json`
|
|
131
|
+
- Scripts: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
|
|
132
|
+
- Valores: `{Name}/{Name}.value.json`
|
|
133
|
+
|
|
134
|
+
Las instancias con nombre duplicado usan el sufijo `~N` en el directorio (ej. `Part~2/Part.props.json`).
|
|
135
|
+
Los nombres que contienen `~` se escapan como `~~` (ej. `Part~2` → `Part~~2/`). Regla Odd-Count Tilde: un `~+N` final se interpreta como sufijo de colisión solo cuando la cantidad de tildes es impar.
|
|
136
|
+
|
|
113
137
|
## Documentos relacionados
|
|
114
138
|
|
|
115
139
|
- [Cobertura de herramientas (Tools Overview)](../tools/overview.md)
|
package/docs/id/sync/overview.md
CHANGED
|
@@ -110,6 +110,30 @@ Ketika perubahan terdeteksi di sisi Studio maupun lokal selama sinkronisasi dua
|
|
|
110
110
|
- Periksa file target dengan `read_file`
|
|
111
111
|
- Pulihkan konten dengan `write_file`, lalu verifikasi status di Studio
|
|
112
112
|
|
|
113
|
+
## Format file (v2 nested directory)
|
|
114
|
+
|
|
115
|
+
Setiap instance Roblox disimpan sebagai direktori sendiri dengan file meta di dalamnya:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
explorer/
|
|
119
|
+
├── Workspace/
|
|
120
|
+
│ ├── _tree.json
|
|
121
|
+
│ ├── Part/
|
|
122
|
+
│ │ └── Part.props.json
|
|
123
|
+
│ ├── MyScript/
|
|
124
|
+
│ │ └── MyScript.server.luau
|
|
125
|
+
│ └── Coins/
|
|
126
|
+
│ └── Coins.value.json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Konvensi penamaan:
|
|
130
|
+
- Properti: `{Name}/{Name}.props.json`
|
|
131
|
+
- Script: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
|
|
132
|
+
- Nilai: `{Name}/{Name}.value.json`
|
|
133
|
+
|
|
134
|
+
Instance dengan nama duplikat menggunakan sufiks `~N` pada direktori (contoh: `Part~2/Part.props.json`).
|
|
135
|
+
Nama yang mengandung `~` di-escape menjadi `~~` (contoh: `Part~2` → `Part~~2/`). Aturan Odd-Count Tilde: `~+N` di akhir ditafsirkan sebagai sufiks collision hanya jika jumlah tilde ganjil.
|
|
136
|
+
|
|
113
137
|
## Dokumen terkait
|
|
114
138
|
|
|
115
139
|
- [Cakupan tool (Tools Overview)](../tools/overview.md)
|
package/docs/ja/sync/overview.md
CHANGED
|
@@ -110,6 +110,30 @@ ProではタイプごとにDirection/Apply Modeを細かく制御できます。
|
|
|
110
110
|
- `read_file` で対象ファイルを確認
|
|
111
111
|
- `write_file` で内容を復元してStudio状態を再確認
|
|
112
112
|
|
|
113
|
+
## ファイルフォーマット (v2 nested directory)
|
|
114
|
+
|
|
115
|
+
各Robloxインスタンスは独自のディレクトリとして保存され、ディレクトリ内にメタファイルが配置されます:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
explorer/
|
|
119
|
+
├── Workspace/
|
|
120
|
+
│ ├── _tree.json
|
|
121
|
+
│ ├── Part/
|
|
122
|
+
│ │ └── Part.props.json
|
|
123
|
+
│ ├── MyScript/
|
|
124
|
+
│ │ └── MyScript.server.luau
|
|
125
|
+
│ └── Coins/
|
|
126
|
+
│ └── Coins.value.json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
命名規則:
|
|
130
|
+
- プロパティ: `{Name}/{Name}.props.json`
|
|
131
|
+
- スクリプト: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
|
|
132
|
+
- 値: `{Name}/{Name}.value.json`
|
|
133
|
+
|
|
134
|
+
同名インスタンスはディレクトリ名に `~N` サフィックスを付けて区別します(例: `Part~2/Part.props.json`)。
|
|
135
|
+
名前に `~` が含まれる場合は `~~` にエスケープされます(例: `Part~2` → `Part~~2/`)。Odd-Count Tilde ルール: 末尾の `~+N` でチルダの数が奇数の場合のみ collision suffix として解釈されます。
|
|
136
|
+
|
|
113
137
|
## 関連ドキュメント
|
|
114
138
|
|
|
115
139
|
- [Tool対応範囲 (Tools Overview)](../tools/overview.md)
|
package/docs/ko/sync/overview.md
CHANGED
|
@@ -110,6 +110,30 @@ Pro에서는 타입별로 Direction/Apply Mode를 다르게 설정해 워크플
|
|
|
110
110
|
- 필요한 파일을 `read_file`로 확인
|
|
111
111
|
- 복구할 내용을 `write_file`로 반영 후 Studio 상태 재확인
|
|
112
112
|
|
|
113
|
+
## 파일 포맷 (v2 nested directory)
|
|
114
|
+
|
|
115
|
+
각 Roblox 인스턴스는 자체 디렉토리로 저장되며, 해당 디렉토리 안에 메타 파일이 위치합니다:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
explorer/
|
|
119
|
+
├── Workspace/
|
|
120
|
+
│ ├── _tree.json
|
|
121
|
+
│ ├── Part/
|
|
122
|
+
│ │ └── Part.props.json
|
|
123
|
+
│ ├── MyScript/
|
|
124
|
+
│ │ └── MyScript.server.luau
|
|
125
|
+
│ └── Coins/
|
|
126
|
+
│ └── Coins.value.json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
파일 명명 규칙:
|
|
130
|
+
- 속성: `{Name}/{Name}.props.json`
|
|
131
|
+
- 스크립트: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
|
|
132
|
+
- 값: `{Name}/{Name}.value.json`
|
|
133
|
+
|
|
134
|
+
동일 이름 인스턴스는 디렉토리에 `~N` 접미사를 붙여 구분합니다 (예: `Part~2/Part.props.json`).
|
|
135
|
+
이름에 `~`가 포함되면 `~~`로 이스케이프됩니다 (예: `Part~2` → `Part~~2/`). Odd-Count Tilde 규칙: 끝의 `~+N`에서 tilde 개수가 홀수일 때만 collision suffix로 해석됩니다.
|
|
136
|
+
|
|
113
137
|
## 함께 보면 좋은 문서
|
|
114
138
|
|
|
115
139
|
- [Tool 지원 범위 (Tools Overview)](../tools/overview.md)
|
|
@@ -110,6 +110,30 @@ Quando mudancas sao detectadas tanto no Studio quanto no local durante a sincron
|
|
|
110
110
|
- Inspecione o arquivo alvo com `read_file`
|
|
111
111
|
- Restaure conteudo com `write_file` e valide no Studio
|
|
112
112
|
|
|
113
|
+
## Formato de arquivos (v2 nested directory)
|
|
114
|
+
|
|
115
|
+
Cada instancia Roblox e armazenada como seu proprio diretorio com arquivos meta dentro:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
explorer/
|
|
119
|
+
├── Workspace/
|
|
120
|
+
│ ├── _tree.json
|
|
121
|
+
│ ├── Part/
|
|
122
|
+
│ │ └── Part.props.json
|
|
123
|
+
│ ├── MyScript/
|
|
124
|
+
│ │ └── MyScript.server.luau
|
|
125
|
+
│ └── Coins/
|
|
126
|
+
│ └── Coins.value.json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Convencoes de nomes:
|
|
130
|
+
- Propriedades: `{Name}/{Name}.props.json`
|
|
131
|
+
- Scripts: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
|
|
132
|
+
- Valores: `{Name}/{Name}.value.json`
|
|
133
|
+
|
|
134
|
+
Instancias com nome duplicado usam o sufixo `~N` no diretorio (ex: `Part~2/Part.props.json`).
|
|
135
|
+
Nomes que contem `~` sao escapados como `~~` (ex: `Part~2` → `Part~~2/`). Regra Odd-Count Tilde: um `~+N` final e interpretado como sufixo de colisao somente quando a quantidade de tildes e impar.
|
|
136
|
+
|
|
113
137
|
## Documentos relacionados
|
|
114
138
|
|
|
115
139
|
- [Cobertura de ferramentas (Tools Overview)](../tools/overview.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@weppy/roblox-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "MCP (Model Context Protocol) server for Roblox Studio integration - enables AI coding agents to interact with Roblox Studio in real-time",
|
|
5
5
|
"main": "plugins/weppy-roblox-mcp/dist/index.js",
|
|
6
6
|
"type": "module",
|