roblox-mcp-difz

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.

Category
Visit Server

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:

  1. LuaExpert (api.lua.expert) — primary
  2. Medal (medal.upio.dev) — fallback 1
  3. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured