Roblox Studio MCP
Edit places, run Luau, drive playtests and profile games in Roblox Studio from a coding agent
Mojang's MCP server for building, validating and testing Minecraft Bedrock add-ons
Official · Mojang JavaScript Local · stdio Developer toolsTesting
73 popularity score ★ 170 ↓ 15k/wk
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
npm install -g @minecraft/creator-tools
mct eulaclaude mcp add minecraft-creator-tools -- mct mcp -i '<ABSOLUTE_PATH_TO_PROJECT>'{
"mcpServers": {
"minecraft-creator-tools": {
"command": "mct",
"args": [
"mcp",
"-i",
"<ABSOLUTE_PATH_TO_PROJECT>"
]
}
}
}{
"mcpServers": {
"minecraft-creator-tools": {
"command": "mct",
"args": [
"mcp",
"-i",
"<ABSOLUTE_PATH_TO_PROJECT>"
]
}
}
}{
"servers": {
"minecraft-creator-tools": {
"type": "stdio",
"command": "mct",
"args": [
"mcp",
"-i",
"<ABSOLUTE_PATH_TO_PROJECT>"
]
}
}
}[mcp_servers.minecraft-creator-tools]
command = "mct"
args = ["mcp", "-i", "<ABSOLUTE_PATH_TO_PROJECT>"]gemini mcp add --scope user minecraft-creator-tools mct -- mcp -i '<ABSOLUTE_PATH_TO_PROJECT>'MCTOOLS_I_ACCEPT_EULA_AT_MINECRAFTDOTNETSLASHEULA |
Optional: Set to true to count as accepting the Minecraft EULA instead of running `mct eula`. |
|---|
Minecraft Creator Tools is Mojang's toolkit for people who build Bedrock Edition add-ons. The npm package installs a command-line program called `mct`, and its `mct mcp` subcommand starts a stdio MCP server so a coding assistant can work on an add-on project directly.
With it an assistant can scaffold a project and add new content from templates, or generate a whole set of pack files from one simplified definition. It can check a pack or a single file against Minecraft's rules. Other tools sketch 3D models and structures, and three of them write PNG textures. The session tools start a local Bedrock Dedicated Server with packaged content so the assistant can move a test player around and run commands in that world. Afterwards it can read back the server's log instead of asking you to paste it. A `getSkill` tool serves the how-to guides that ship inside the installed package.
In total the server registers 20 tools: 19 in MinecraftMcpServer.ts plus `getSkill` in McpSkillLibrary.ts. The log tool, `getMinecraftSessionLogs`, looks at output since the last server start and returns 50 entries by default, at most 200 (ServerLogQuery.ts). It marks that output as untrusted text. The source still holds a handler for reading image files, but no `readImageFile` tool is registered. Mojang calls the code a pre-release alpha.
| Runtime | Node.js 22+ |
|---|---|
| Runs on | macOS, Windows, Linux |
| Also |
|
Install the package globally with `npm install -g @minecraft/creator-tools`, then run `mct eula` once (or set MCTOOLS_I_ACCEPT_EULA_AT_MINECRAFTDOTNETSLASHEULA=true) before the tools that create projects, add content or start a server session will work. Image-writing tools also need a `.mct/mcp/prefs.json` file containing `allowImageFileWritesInDescendentFolders: true`.
Suits Bedrock add-on makers who want an assistant to scaffold, generate and validate packs on their own machine, and to try content in a local dedicated-server session. Because it comes from Mojang, its validation follows the official content rules. It is aimed at Bedrock Edition data packs and add-ons; anyone working on Java Edition mods or wanting to control a live game world for players should look elsewhere. It writes files into the project folder, so point `-i` at the add-on you want changed.
7 only read, 13 change things. A ? marks an optional parameter.
createProject changesfolderPathToCreateProjectAt: stringtitle: stringdescription?: stringnewName: stringcreator: stringtemplate: enumaddItem changesfolderPathToCreateProjectAt: stringtemplateType: enumname: stringcreateMinecraftContent changesdefinition: objectoutputPath: stringgetEffectiveContentSchemafolderPath: stringoptions?: objectvalidateContentjsonContentOrBase64ZipContent: stringvalidateFilefilePath: stringcreateMinecraftSessionWithContent changessessionName: stringpackagedMcaddonOrMcworldFilePath: stringtestPlayerNameToUse: stringmoveSessionPlayerToLocation changessessionName: stringplayerName: stringlocationToHavePlayerMoveTo: objectrunCommandInMinecraft changessessionName: stringcommand: stringrunActionSetInMinecraft changesactionSet: objectlistMinecraftSessionsconnectToMinecraftSession changessessionName: stringslot?: numbergetMinecraftSessionLogssessionName?: stringslot?: integerlevels?: arraysinceLatestStart?: booleansearch?: stringlimit?: integerdesignModel changesprojectPath: stringdesign: objectmodelId: stringusage?: enumwireTo?: anygetModelTemplatestemplateType?: enumdesignStructure changesprojectPath: stringblockVolume?: objectprogram?: stringseed?: integerprogramMode?: enumstructureId: stringwriteImageFile changesfilePath: stringbase64Data: stringmimeType?: stringwriteImageFileFromSvg changesfilePath: stringsvgContent: stringwidth?: numberheight?: numberwriteImageFileFromPixelArt changesfilePath: stringlines: arraypalette: objectscale?: numberbackgroundColor?: objectgetSkillname: enumfile?: string