Bridges Claude Code and Ollama to Roblox Studio and Blender via a unified MCP server that exposes operations over HTTP (port 7842 for Studio, 7843 for Blender). The server runs on Node.js v22 LTS and uses stdio transport. Includes platform-specific installers for Windows and macOS that auto-configure claude.json and install the Lua plugin for Studio. The Blender plugin installs manually via Python addon. Designed for developers building game assets or 3D workflows who want Claude to directly manipulate scripts, scenes, and objects in both environments without copy-paste roundtrips. Works with minimax-m2.5:cloud through Ollama's API on port 11434.
Connect Claude Code and Ollama to Roblox Studio and Blender via the Model Context Protocol
Claude Code (stdio)
│ MCP protocol
▼
MCP Server ──── HTTP :7842 ───► Roblox Studio Plugin (Lua)
│
├──── HTTP :7843 ───► Blender Plugin (Python)
│
└── Ollama API (:11434) ──► minimax-m2.5:cloud
These steps are required regardless of your platform or install method.
Click Code → Download ZIP at the top of this page and extract it somewhere on your machine.
Then grab the installer for your platform from the Releases page:
|
Windows Installer |
macOS Installer |
Place the installer in the same folder as the extracted source before continuing.
Download and run nvm-setup.exe from the nvm-windows releases page, then open a new terminal and run:
nvm install lts
nvm use lts
This installs the latest Node.js LTS release and sets it as your active version.
Install nvm by running the install script in your terminal:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
Then restart your terminal (or run source ~/.zshrc), and run:
nvm install --lts
nvm use --lts
nvm alias default 'lts/*'
This installs the latest Node.js LTS release and sets it as your default.
Navigate into the extracted folder and install dependencies:
cd MCPBridge/mcp-server
npm install
[!WARNING] Do not skip this step. Without it, the MCP server will not start and nothing will connect.
[!IMPORTANT] To enable the MCP server in Studio:
- Open Assistant
- Click ... → Manage MCP Servers
- Turn on Enable Studio as MCP server
MCPBridge.exeindex.js or OllamaMCP.lua weren't auto-detected, press Browse and select them manuallymcpbridge entry to your claude.json and installs the Roblox plugin automaticallyollama launch claude --model minimax-m2.5:cloud
[!NOTE] On first launch macOS may show a security warning. Go to System Settings → Privacy & Security and click Open Anyway to allow it.
MCPBridge.pkgindex.js or OllamaMCP.lua weren't auto-detected, press Browse and select them manuallymcpbridge entry to your claude.json and installs the Roblox plugin automaticallyollama launch claude --model minimax-m2.5:cloud
The Blender plugin is installed manually once directly inside Blender. You only need to do this the first time.
MCPBridge/blender-plugin/MCPBridge.py from the extracted source folderOnce enabled, open any 3D Viewport, open the Sidebar (N key), go to the MCPBridge tab, and click Start Bridge. The status indicator will turn green when connected.
[!NOTE] The Blender plugin connects to
localhost:7843. Make sure the MCPBridge MCP server is running (i.e. Claude Code has it active) before clicking Start Bridge.
Add the MCP server to Claude Code's config. The config file lives at:
| OS | Path |
|---|---|
| macOS | ~/.claude.json |
| Windows | %USERPROFILE%\.claude.json |
MCPBridge uses a single unified server that handles both Roblox and Blender. Add or merge one of the blocks below.
Option A - from npm (recommended). No source download or npm install is needed for the server; npx fetches and runs it:
{
"mcpServers": {
"mcpbridge": {
"command": "npx",
"args": ["-y", "@iamjrmh/mcpbridge"]
}
}
}
Option B - from local source. Use this if you cloned the repo and want to run your own copy (replace the path with your actual path):
{
"mcpServers": {
"mcpbridge": {
"command": "node",
"args": ["/absolute/path/to/MCPBridge/mcp-server/index.js"]
}
}
}
Then restart Claude Code. You should see mcpbridge in your MCP tools list with all Roblox and Blender tools available.
[!NOTE] The npm package
@iamjrmh/mcpbridgecontains the MCP server only. You still need the source'sroblox-plugin/andblender-plugin/files to install the Studio and Blender plugins.
[!WARNING] If you have old
roblox-ollamaorblender-mcpentries in yourclaude.jsonfrom a previous version, remove them. Having multiple entries pointing at the sameindex.jswill cause both to fail (port conflict on:7842). The MCPBridge app's Apply Changes button handles this migration automatically.
roblox-plugin/OllamaMCP.lua into that folder[!IMPORTANT] To enable the MCP server in Studio:
- Open Assistant
- Click ... → Manage MCP Servers
- Turn on Enable Studio as MCP server
See Blender Plugin Setup above.
Pick a model and launch it with Ollama. The bridge calls the REST API at http://localhost:11434 automatically.
Recommended models:
# Balanced cloud model (default)
ollama launch claude --model minimax-m2.5:cloud
# Newer cloud model
ollama launch claude --model minimax-m2.7:cloud
# General purpose
ollama launch claude --model qwen3.5
# Coding focused
ollama launch claude --model qwen3-coder
# Lightweight / fast
ollama launch claude --model gemma4
| Tool | Description |
|---|---|
studio_status | Check if the Roblox plugin is connected |
studio_list_scripts | List all scripts in the place |
studio_read_script | Read a script's source code |
studio_write_script | Overwrite a script's source |
studio_create_script | Create a new script instance |
studio_execute_lua | Execute Lua in the plugin context |
studio_get_output | Get recent print/warn output |
studio_get_workspace_info | Get place metadata |
studio_get_selection | Get currently selected instances |
| Tool | Description |
|---|---|
blender_status | Check if the Blender plugin is connected |
blender_execute_python | Execute Python (bpy) code in Blender |
blender_get_scene_info | Get scene objects, active object, render settings |
blender_get_output | Get recent output captured by the plugin |
ollama_generate_python | Generate Blender Python for a task, optionally execute it |
| Tool | Description |
|---|---|
ollama_generate | Raw prompt → completion |
ollama_generate_lua | Generate Roblox Lua for a task, optionally write to Studio |
ollama_review_script | Review a script for bugs and performance issues |
Reusable, parameterised workflows exposed over MCP - invoke them from any MCP client.
| Prompt | Arguments | Purpose |
|---|---|---|
roblox_build_feature | feature, location? | Plan and implement a Roblox feature end-to-end |
roblox_debug_script | script_path, symptom? | Diagnose and fix a misbehaving script |
roblox_review_script | script_path, focus? | Review a script for bugs and performance |
blender_build_scene | description | Plan and build a Blender scene with bpy |
Readable context data exposed over MCP - attach them to a conversation for live state.
| Resource URI | Description |
|---|---|
mcpbridge://guide | Agent skill guide (skills.md) - tools, workflows, rules |
mcpbridge://server/info | Server version, ports, default model, capability counts |
mcpbridge://studio/status | Live Roblox Studio connection state |
mcpbridge://studio/output | Recent Roblox Studio output log |
mcpbridge://blender/status | Live Blender connection state |
mcpbridge://blender/output | Recent Blender output log |
Roblox Studio:
"List all scripts in my Roblox game"
"Read the source of game.ServerScriptService.GameManager"
"Generate a Roblox Lua leaderboard system and write it to game.ServerScriptService.Leaderboard"
"Review game.StarterPlayer.StarterCharacterScripts.Movement for performance issues"
"Create a new LocalScript called 'UIHandler' in game.StarterPlayer.StarterPlayerScripts"
Blender:
"What objects are in my Blender scene?"
"Add a subdivided cube at the origin with 3 levels of subdivision"
"Generate a Python script to create a low-poly tree and execute it in Blender"
"Select all mesh objects in the scene and apply a smooth shading modifier"
"What is the current render engine and frame range?"
7842 isn't blocked by a firewall7843 isn't blocked by a firewallThis is almost always caused by having duplicate entries in claude.json (e.g. old roblox-ollama and blender-mcp entries both pointing at index.js). Two Node processes fighting over port 7842 causes both to fail.
Fix: Open MCPBridge, click Apply Changes. This replaces any old entries with a single mcpbridge entry. Then restart Claude Code.
curl http://localhost:11434/api/tagsminimax-m2.5:cloud is available in your Ollama setupmacOS may block the installer on first launch since it isn't notarized. To allow it:
Alternatively, right-click the .pkg and choose Open to bypass the warning directly.
On first launch, MCPBridge automatically extracts these folders next to the .pkg. If auto-detection still fails, use the Browse button in the app to point to them manually. The folders will be located next to MCPBridge.pkg in the same directory.
MCPBridge/
├── mcp-server/
│ ├── index.js ← Unified MCP + HTTP bridge server (Roblox :7842, Blender :7843)
│ └── package.json
├── roblox-plugin/
│ └── OllamaMCP.lua ← Roblox Studio plugin (auto-installed by MCPBridge app)
├── blender-plugin/
│ └── MCPBridge.py ← Blender addon (install manually via Edit → Preferences)
├── MCPBridge.exe ← Windows installer (double-click to run)
├── MCPBridge.pkg ← macOS installer (double-click to run)
├── claude_mcp_config.json ← Example Claude Code config snippet
├── server.json ← Official MCP Registry manifest
├── skills.md ← Agent skill guide (also served as the mcpbridge://guide resource)
├── start.sh ← Helper startup script
├── LICENSE ← MIT license
└── README.md
MCPBridge is released under the MIT License.
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent