roblox-mcp-difz
MCP server for controlling and reverse engineering Roblox games, providing 132 tools across 8 categories for instance exploration, property inspection, input simulation, and more.
README
roblox-mcp-difz
Universal MCP server for Roblox game control, reverse engineering, and exploitation.
151 tools across 12 categories ā Instance Tree Exploration, Property Inspection, Visual Tracking, Input Simulation, Environment Manipulation, Memory Hooking, Network Traffic, Closure Hooking, Environment Exploration, Filesystem Operations, Script Introspection, Metatable Manipulation.
Works with Claude Code, Claude Desktop, Cursor, Windsurf, VS Code (Cline/Continue), and any MCP-compatible AI.
Install
npm install -g roblox-mcp-difz
Or run directly:
npx roblox-mcp-difz
Usage
# Start HTTP + WebSocket server (default port 28429)
roblox-mcp-difz
# Start stdio MCP transport (for AI integration)
roblox-mcp-difz start:stdio
# Interactive setup wizard ā configure your AI
roblox-mcp-difz setup
# Quick setup for a specific AI
roblox-mcp-difz setup --ai claude-code
roblox-mcp-difz setup --ai claude-desktop
roblox-mcp-difz setup --ai cursor
Setup Wizard
$ roblox-mcp-difz setup
Select AI platform(s) to configure:
1. š¤ Claude Code
2. š» Claude Desktop
3. š· Cursor
4. š Windsurf
5. š VS Code (Cline / Continue)
6. š Generic MCP Client
Enter numbers (comma-separated, e.g. "1,3" or "all"):
The wizard auto-detects config paths, creates the files, and merges with existing configs.
Roblox Executor Setup
Inject http://localhost:28429/mcp.luau into your Roblox executor.
The client supports WebSocket transport by default with HTTP polling fallback. It uses UNC (Universal Compatibility) functions with graceful fallbacks for maximum executor compatibility.
getgenv() Configuration
Set these before loading mcp.luau to override defaults:
getgenv().MCP_HOST = "127.0.0.1" -- default
getgenv().MCP_PORT = 28429 -- default
getgenv().MCP_TRANSPORT = "auto" -- "auto" | "ws" | "http"
getgenv().MCP_WORKER_ID = "my-worker-1" -- unique ID for multi-instance
Features
151 MCP Tools
| Category | Count | Description |
|---|---|---|
| Instance Tree Exploration | 17 | Walk/search/filter the Roblox DataModel |
| Property Inspection | 15 | Read properties, attributes, tags, metadata |
| Visual & Screen Tracking | 17 | GUI hierarchy, camera, world-to-screen, click GUI |
| Input & Macro Simulation | 14 | Mouse/keyboard simulation, key combos, text typing |
| Environment Manipulation | 16 | Modify Lighting, Terrain, Sounds, Physics, etc. |
| Network Traffic | 22 | Remote scanning, firing, spying, blocking |
| Memory & Function Hooking | 19 | Decompile, hook, metatable, closure inspection |
| Closure & Function Ops | 2 | hookfunction, closure type checking |
| Environment Exploration | 4 | getgc, getreg, getrenv, getsenv |
| Filesystem Operations | 6 | read/write/list/delete files, assets |
| Script Introspection | 4 | Running scripts, call stack, closures, hashes |
| Metatable Manipulation | 3 | Raw metatables, readonly, namecall spy |
| Server-Side Tools | 5 | Process listing, launch Roblox, open game, screenshot |
Multi-Instance Support
Each executor registers with a unique worker_id. Tasks can target specific Roblox instances by PID:
{
"name": "get_roblox_processes",
"arguments": {}
}
// Returns [{ pid: 1234, name: "RobloxPlayerBeta", windowTitle: "..." }]
{
"name": "execute_custom_luau",
"arguments": {
"pid": 1234,
"code": "print('hello from instance 1234')"
}
}
UNC Compatibility Layer
All UNC functions have fallbacks if the executor doesn't support them:
| Function | Fallback |
|---|---|
WebSocket.connect |
HTTP polling |
firesignal |
signal:Fire() |
getconnections |
instance:GetConnections() |
getscriptbytecode |
Error (tools restricted) |
decompile |
LuaExpert ā Medal ā Konstant chain |
request |
Injected via loadstring |
getgenv() |
_G |
Decompilation Chain
Automatic fallback through 3 decompile services:
- LuaExpert (api.lua.expert) ā primary
- Medal (medal.upio.dev) ā fallback 1
- Konstant (api.plusgiant5.com) ā fallback 2
Architecture
āāāāāāāāāāāāāāā JSON-RPC 2.0 āāāāāāāāāāāāāāāā WebSocket/HTTP āāāāāāāāāāāā
ā AI (Claude) ā āāāāāāāāāāāāāāāāāāā ā Node Server ā āāāāāāāāāāāāāāāāāāā ā Roblox ā
ā Cursor ā POST / or /mcp ā :28429 ā ws://host/ws ā Executor ā
ā etc. ā āāāāāāāāāāāāāāāāāāā ā + stdio MCP ā āāāāāāāāāāāāāāāāāāā ā (mcp.luau)ā
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāā āāāāāāāāāāāā
Commands
| Command | Description |
|---|---|
roblox-mcp-difz |
Start HTTP + WebSocket server |
roblox-mcp-difz start |
Same as above |
roblox-mcp-difz start:stdio |
Start stdio MCP transport + HTTP/WS |
roblox-mcp-difz setup |
Interactive setup wizard |
roblox-mcp-difz setup --ai <name> |
Setup for a specific AI |
roblox-mcp-difz --help |
Show help |
API (programmatic)
import robloxMcp from 'roblox-mcp-difz';
// Create a configured server
const { app, server, tools } = robloxMcp.createApp({ verbose: true });
server.listen(28429);
// Get tool list
const allTools = robloxMcp.getTools();
console.log(`Total tools: ${allTools.length}`);
Environment
| Variable | Default | Description |
|---|---|---|
MCP_PORT |
28429 |
HTTP server port |
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.