@chrrxs/robloxstudio-mcp 2.17.0 → 2.17.1

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/dist/index.js CHANGED
@@ -932,7 +932,6 @@ var init_http_server = __esm({
932
932
  capture_screenshot: (tools, body) => tools.captureScreenshot(body.instance_id, body.format, body.quality),
933
933
  simulate_mouse_input: (tools, body) => tools.simulateMouseInput(body.action, body.x, body.y, body.button, body.scrollDirection, body.target, body.instance_id),
934
934
  simulate_keyboard_input: (tools, body) => tools.simulateKeyboardInput(body.keyCode, body.action, body.duration, body.text, body.target, body.instance_id),
935
- character_navigation: (tools, body) => tools.characterNavigation(body.position, body.instancePath, body.waitForCompletion, body.timeout, body.target, body.instance_id),
936
935
  get_memory_breakdown: (tools, body) => tools.getMemoryBreakdown(body.target, body.tags, body.instance_id),
937
936
  get_scene_analysis: (tools, body) => tools.getSceneAnalysis(body.mode, body.target, body.topN, body.raw, body.instance_id),
938
937
  export_rbxm: (tools, body) => tools.exportRbxm(body.instance_paths, body.output_path, body.target, body.instance_id),
@@ -5598,23 +5597,6 @@ ${code}`
5598
5597
  }]
5599
5598
  };
5600
5599
  }
5601
- async characterNavigation(position, instancePath, waitForCompletion, timeout, target, instance_id) {
5602
- if (!position && !instancePath) {
5603
- throw new Error("Either position or instancePath is required for character_navigation");
5604
- }
5605
- const response = await this._callSingle("/api/character-navigation", {
5606
- position,
5607
- instancePath,
5608
- waitForCompletion,
5609
- timeout
5610
- }, target || "edit", instance_id);
5611
- return {
5612
- content: [{
5613
- type: "text",
5614
- text: JSON.stringify(response)
5615
- }]
5616
- };
5617
- }
5618
5600
  async cloneObject(instancePath, targetParentPath, instance_id) {
5619
5601
  if (!instancePath || !targetParentPath) {
5620
5602
  throw new Error("instancePath and targetParentPath are required for clone_object");
@@ -6209,7 +6191,7 @@ var init_definitions = __esm({
6209
6191
  properties: {
6210
6192
  path: {
6211
6193
  type: "string",
6212
- description: "Root path (default: game root)"
6194
+ description: 'Canonical DataModel path (default: game root), such as game.Workspace or game.ServerScriptService[".dir"]'
6213
6195
  },
6214
6196
  instance_id: {
6215
6197
  type: "string",
@@ -6313,7 +6295,7 @@ var init_definitions = __esm({
6313
6295
  properties: {
6314
6296
  instancePath: {
6315
6297
  type: "string",
6316
- description: "Instance path (dot notation)"
6298
+ description: 'Canonical DataModel path, such as game.Workspace.Part or game.ServerScriptService[".dir"].Main'
6317
6299
  },
6318
6300
  excludeSource: {
6319
6301
  type: "boolean",
@@ -6336,7 +6318,7 @@ var init_definitions = __esm({
6336
6318
  properties: {
6337
6319
  instancePath: {
6338
6320
  type: "string",
6339
- description: "Instance path (dot notation)"
6321
+ description: 'Canonical DataModel path, such as game.Workspace.Part or game.ServerScriptService[".dir"].Main'
6340
6322
  },
6341
6323
  instance_id: {
6342
6324
  type: "string",
@@ -6398,7 +6380,7 @@ var init_definitions = __esm({
6398
6380
  properties: {
6399
6381
  path: {
6400
6382
  type: "string",
6401
- description: "Root path (default: workspace root)"
6383
+ description: "Canonical DataModel path (default: workspace root)"
6402
6384
  },
6403
6385
  maxDepth: {
6404
6386
  type: "number",
@@ -6425,7 +6407,7 @@ var init_definitions = __esm({
6425
6407
  properties: {
6426
6408
  instancePath: {
6427
6409
  type: "string",
6428
- description: "Instance path (dot notation)"
6410
+ description: "Canonical DataModel path"
6429
6411
  },
6430
6412
  propertyName: {
6431
6413
  type: "string",
@@ -6452,7 +6434,7 @@ var init_definitions = __esm({
6452
6434
  paths: {
6453
6435
  type: "array",
6454
6436
  items: { type: "string" },
6455
- description: "Instance paths"
6437
+ description: "Canonical DataModel paths"
6456
6438
  },
6457
6439
  propertyName: {
6458
6440
  type: "string",
@@ -6479,7 +6461,7 @@ var init_definitions = __esm({
6479
6461
  paths: {
6480
6462
  type: "array",
6481
6463
  items: { type: "string" },
6482
- description: "Instance paths"
6464
+ description: "Canonical DataModel paths"
6483
6465
  },
6484
6466
  propertyName: {
6485
6467
  type: "string",
@@ -6502,7 +6484,7 @@ var init_definitions = __esm({
6502
6484
  properties: {
6503
6485
  instancePath: {
6504
6486
  type: "string",
6505
- description: "Instance path"
6487
+ description: "Canonical DataModel path"
6506
6488
  },
6507
6489
  properties: {
6508
6490
  type: "object",
@@ -6530,7 +6512,7 @@ var init_definitions = __esm({
6530
6512
  },
6531
6513
  parent: {
6532
6514
  type: "string",
6533
- description: "Parent instance path"
6515
+ description: "Canonical parent DataModel path"
6534
6516
  },
6535
6517
  name: {
6536
6518
  type: "string",
@@ -6566,7 +6548,7 @@ var init_definitions = __esm({
6566
6548
  },
6567
6549
  parent: {
6568
6550
  type: "string",
6569
- description: "Parent instance path"
6551
+ description: "Canonical parent DataModel path"
6570
6552
  },
6571
6553
  name: {
6572
6554
  type: "string",
@@ -6598,7 +6580,7 @@ var init_definitions = __esm({
6598
6580
  properties: {
6599
6581
  instancePath: {
6600
6582
  type: "string",
6601
- description: "Instance path (dot notation)"
6583
+ description: "Canonical DataModel path"
6602
6584
  },
6603
6585
  instance_id: {
6604
6586
  type: "string",
@@ -6618,7 +6600,7 @@ var init_definitions = __esm({
6618
6600
  properties: {
6619
6601
  instancePath: {
6620
6602
  type: "string",
6621
- description: "Instance path (dot notation)"
6603
+ description: "Canonical DataModel path"
6622
6604
  },
6623
6605
  count: {
6624
6606
  type: "number",
@@ -6679,7 +6661,7 @@ var init_definitions = __esm({
6679
6661
  properties: {
6680
6662
  instancePath: {
6681
6663
  type: "string",
6682
- description: "Instance path (dot notation)"
6664
+ description: "Canonical DataModel path"
6683
6665
  },
6684
6666
  count: {
6685
6667
  type: "number",
@@ -6742,7 +6724,7 @@ var init_definitions = __esm({
6742
6724
  properties: {
6743
6725
  instancePath: {
6744
6726
  type: "string",
6745
- description: "Script instance path"
6727
+ description: "Canonical path to a LuaSourceContainer"
6746
6728
  },
6747
6729
  startLine: {
6748
6730
  type: "number",
@@ -6769,7 +6751,7 @@ var init_definitions = __esm({
6769
6751
  properties: {
6770
6752
  instancePath: {
6771
6753
  type: "string",
6772
- description: "Script instance path"
6754
+ description: "Canonical path to a LuaSourceContainer"
6773
6755
  },
6774
6756
  source: {
6775
6757
  type: "string",
@@ -6792,7 +6774,7 @@ var init_definitions = __esm({
6792
6774
  properties: {
6793
6775
  instancePath: {
6794
6776
  type: "string",
6795
- description: "Script instance path"
6777
+ description: "Canonical path to a LuaSourceContainer"
6796
6778
  },
6797
6779
  old_string: {
6798
6780
  type: "string",
@@ -6823,7 +6805,7 @@ var init_definitions = __esm({
6823
6805
  properties: {
6824
6806
  instancePath: {
6825
6807
  type: "string",
6826
- description: "Script instance path"
6808
+ description: "Canonical path to a LuaSourceContainer"
6827
6809
  },
6828
6810
  afterLine: {
6829
6811
  type: "number",
@@ -6850,7 +6832,7 @@ var init_definitions = __esm({
6850
6832
  properties: {
6851
6833
  instancePath: {
6852
6834
  type: "string",
6853
- description: "Script instance path"
6835
+ description: "Canonical path to a LuaSourceContainer"
6854
6836
  },
6855
6837
  startLine: {
6856
6838
  type: "number",
@@ -6878,7 +6860,7 @@ var init_definitions = __esm({
6878
6860
  properties: {
6879
6861
  instancePath: {
6880
6862
  type: "string",
6881
- description: "Instance path (dot notation)"
6863
+ description: "Canonical DataModel path"
6882
6864
  },
6883
6865
  attributeName: {
6884
6866
  type: "string",
@@ -6908,7 +6890,7 @@ var init_definitions = __esm({
6908
6890
  properties: {
6909
6891
  instancePath: {
6910
6892
  type: "string",
6911
- description: "Instance path (dot notation)"
6893
+ description: "Canonical DataModel path"
6912
6894
  },
6913
6895
  instance_id: {
6914
6896
  type: "string",
@@ -6927,7 +6909,7 @@ var init_definitions = __esm({
6927
6909
  properties: {
6928
6910
  instancePath: {
6929
6911
  type: "string",
6930
- description: "Instance path (dot notation)"
6912
+ description: "Canonical DataModel path"
6931
6913
  },
6932
6914
  attributeName: {
6933
6915
  type: "string",
@@ -6951,7 +6933,7 @@ var init_definitions = __esm({
6951
6933
  properties: {
6952
6934
  instancePath: {
6953
6935
  type: "string",
6954
- description: "Instance path (dot notation)"
6936
+ description: "Canonical DataModel path"
6955
6937
  },
6956
6938
  instance_id: {
6957
6939
  type: "string",
@@ -6970,7 +6952,7 @@ var init_definitions = __esm({
6970
6952
  properties: {
6971
6953
  instancePath: {
6972
6954
  type: "string",
6973
- description: "Instance path (dot notation)"
6955
+ description: "Canonical DataModel path"
6974
6956
  },
6975
6957
  tagName: {
6976
6958
  type: "string",
@@ -6993,7 +6975,7 @@ var init_definitions = __esm({
6993
6975
  properties: {
6994
6976
  instancePath: {
6995
6977
  type: "string",
6996
- description: "Instance path (dot notation)"
6978
+ description: "Canonical DataModel path"
6997
6979
  },
6998
6980
  tagName: {
6999
6981
  type: "string",
@@ -7689,7 +7671,7 @@ var init_definitions = __esm({
7689
7671
  },
7690
7672
  script_path: {
7691
7673
  type: "string",
7692
- description: "Path to a LuaSourceContainer, for example game.ServerScriptService.Main. Required for set/remove."
7674
+ description: 'Canonical path to a LuaSourceContainer, for example game.ServerScriptService.Main or game.ServerScriptService[".dir"].ReproScript. Required for set/remove.'
7693
7675
  },
7694
7676
  line: {
7695
7677
  type: "number",
@@ -7772,7 +7754,7 @@ var init_definitions = __esm({
7772
7754
  properties: {
7773
7755
  instancePath: {
7774
7756
  type: "string",
7775
- description: "Path to the Model or Folder to export (dot notation)"
7757
+ description: "Canonical path to the Model or Folder to export"
7776
7758
  },
7777
7759
  outputId: {
7778
7760
  type: "string",
@@ -7929,7 +7911,7 @@ part(0,2,0,2,1,1,"b")`,
7929
7911
  },
7930
7912
  targetPath: {
7931
7913
  type: "string",
7932
- description: "Parent instance path where the model will be created"
7914
+ description: "Canonical parent DataModel path where the model will be created"
7933
7915
  },
7934
7916
  position: {
7935
7917
  type: "array",
@@ -8060,7 +8042,7 @@ part(0,2,0,2,1,1,"b")`,
8060
8042
  },
8061
8043
  targetPath: {
8062
8044
  type: "string",
8063
- description: "Parent instance path for the scene (default: game.Workspace)"
8045
+ description: "Canonical parent DataModel path for the scene (default: game.Workspace)"
8064
8046
  },
8065
8047
  instance_id: {
8066
8048
  type: "string",
@@ -8152,7 +8134,7 @@ part(0,2,0,2,1,1,"b")`,
8152
8134
  },
8153
8135
  parentPath: {
8154
8136
  type: "string",
8155
- description: "Parent instance path (default: game.Workspace)"
8137
+ description: "Canonical parent DataModel path (default: game.Workspace)"
8156
8138
  },
8157
8139
  position: {
8158
8140
  type: "object",
@@ -8330,42 +8312,6 @@ part(0,2,0,2,1,1,"b")`,
8330
8312
  }
8331
8313
  }
8332
8314
  },
8333
- // === Character Navigation ===
8334
- {
8335
- name: "character_navigation",
8336
- category: "write",
8337
- description: 'Move the player character to a target position or instance during playtest. Uses PathfindingService for automatic navigation around obstacles, falling back to direct movement. Requires an active playtest in "play" mode. Does NOT simulate player input - moves the character directly.',
8338
- inputSchema: {
8339
- type: "object",
8340
- properties: {
8341
- position: {
8342
- type: "array",
8343
- items: { type: "number" },
8344
- description: "Target world position [x, y, z]. Either this or instancePath is required."
8345
- },
8346
- instancePath: {
8347
- type: "string",
8348
- description: "Instance to navigate to (dot notation). The character walks to its Position. Either this or position is required."
8349
- },
8350
- waitForCompletion: {
8351
- type: "boolean",
8352
- description: "Wait for the character to arrive before returning (default: true)"
8353
- },
8354
- timeout: {
8355
- type: "number",
8356
- description: "Max seconds to wait for navigation to complete (default: 25)"
8357
- },
8358
- target: {
8359
- type: "string",
8360
- description: 'Instance target: "edit" (default), "server", "client-1", "client-2", etc.'
8361
- },
8362
- instance_id: {
8363
- type: "string",
8364
- description: "Which connected Studio place to target. Required when multiple places are connected; omit when one. Use get_connected_instances to list available IDs."
8365
- }
8366
- }
8367
- }
8368
- },
8369
8315
  // === Instance Operations ===
8370
8316
  {
8371
8317
  name: "clone_object",
@@ -8376,11 +8322,11 @@ part(0,2,0,2,1,1,"b")`,
8376
8322
  properties: {
8377
8323
  instancePath: {
8378
8324
  type: "string",
8379
- description: "Path of the instance to clone"
8325
+ description: "Canonical path of the instance to clone"
8380
8326
  },
8381
8327
  targetParentPath: {
8382
8328
  type: "string",
8383
- description: "Path of the parent to place the clone under"
8329
+ description: "Canonical path of the parent to place the clone under"
8384
8330
  },
8385
8331
  instance_id: {
8386
8332
  type: "string",
@@ -8400,7 +8346,7 @@ part(0,2,0,2,1,1,"b")`,
8400
8346
  properties: {
8401
8347
  instancePath: {
8402
8348
  type: "string",
8403
- description: "Root instance path"
8349
+ description: "Canonical root DataModel path"
8404
8350
  },
8405
8351
  maxDepth: {
8406
8352
  type: "number",
@@ -8427,11 +8373,11 @@ part(0,2,0,2,1,1,"b")`,
8427
8373
  properties: {
8428
8374
  instancePathA: {
8429
8375
  type: "string",
8430
- description: "First instance path"
8376
+ description: "First canonical DataModel path"
8431
8377
  },
8432
8378
  instancePathB: {
8433
8379
  type: "string",
8434
- description: "Second instance path"
8380
+ description: "Second canonical DataModel path"
8435
8381
  },
8436
8382
  instance_id: {
8437
8383
  type: "string",
@@ -8451,7 +8397,7 @@ part(0,2,0,2,1,1,"b")`,
8451
8397
  properties: {
8452
8398
  instancePath: {
8453
8399
  type: "string",
8454
- description: "Instance path"
8400
+ description: "Canonical DataModel path"
8455
8401
  },
8456
8402
  attributes: {
8457
8403
  type: "object",
@@ -8533,7 +8479,7 @@ part(0,2,0,2,1,1,"b")`,
8533
8479
  instance_paths: {
8534
8480
  type: "array",
8535
8481
  items: { type: "string" },
8536
- description: 'DataModel paths to serialize (e.g. ["Workspace.TestRig", "ServerStorage.Templates.NPC"])'
8482
+ description: 'Canonical DataModel paths to serialize (e.g. ["game.Workspace.TestRig", "game.ServerStorage.Templates.NPC"])'
8537
8483
  },
8538
8484
  output_path: {
8539
8485
  type: "string",
@@ -8575,7 +8521,7 @@ part(0,2,0,2,1,1,"b")`,
8575
8521
  },
8576
8522
  parent_path: {
8577
8523
  type: "string",
8578
- description: 'DataModel path of the Instance to parent imported instances under (e.g. "ServerStorage.Imported")'
8524
+ description: 'Canonical DataModel path of the Instance to parent imported instances under (e.g. "game.ServerStorage.Imported")'
8579
8525
  },
8580
8526
  target: {
8581
8527
  type: "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrrxs/robloxstudio-mcp",
3
- "version": "2.17.0",
3
+ "version": "2.17.1",
4
4
  "description": "MCP server for testing, debugging, and controlling Roblox Studio from AI coding tools",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",