MaxForge MCP

MaxForge MCP

Enables AI agents to control a live 3ds Max session directly, including creating and editing objects, materials, animation, and scene inspection, with undo support.

Category
Visit Server

README

MaxForge MCP

Lets an AI agent (Claude, or anything else that speaks MCP) drive a live 3ds Max session — not by generating scripts for a human to paste in, but by actually creating, editing, and animating objects in real time while Max is open.

Normally, getting an AI to help in 3ds Max means it writes a script and you run it yourself, blind to whether it actually worked. This closes that loop: the agent can query the real scene state before and after every action, catch its own mistakes, and iterate live instead of guessing.

What it can do

Inspect the scene list objects, read the current selection, query units / frame rate / frame range
Create & transform primitives, position / rotation / scale
Materials & textures create a material, load a bitmap texture, assign it to objects
Animation keyframe position/rotation/scale across frames with real spline interpolation
Collision proxies generate a basic bounding-box proxy for an object
Export & save export selected objects or the whole scene, save the .max file
Escape hatch run arbitrary raw MaxScript or Python for anything not covered above

Every mutation is wrapped in a real undo block — anything the agent does is a normal Ctrl+Z away from being undone.

How it works

AI agent (MCP client) --stdio--> server/max_mcp_server.py --TCP, localhost only--> max_side/bridge.py (inside 3ds Max)

A small Python bridge runs inside 3ds Max, loaded via a startup script, and opens a socket bound to 127.0.0.1 only. An MCP server outside Max connects to it and exposes the tools above. Every command runs on Max's main thread via a Qt timer — the 3ds Max SDK isn't thread-safe, so commands arriving on a socket thread are queued and drained on the main loop rather than executed directly.

max_side/
  bridge.py      socket + main-thread queue (the only place pymxs is touched)
  commands.py    one function per tool, each wrapped in an undo block
  serialize.py   converts pymxs values (Point3, Matrix3, nodes, ...) to JSON
  startup_stub.ms   drop into Max's startup scripts folder
server/
  client.py         TCP client, newline-delimited JSON
  tools.py           MCP tool definitions
  max_mcp_server.py  the MCP server itself (stdio transport)

Setup

Requirements: 3ds Max 2022+ (pymxs), Python 3.10+ on the machine running the MCP server, uv.

1. Install dependencies

uv sync

2. Load the bridge into 3ds Max

Copy max_side/startup_stub.ms into Max's startup scripts folder — typically:

%LOCALAPPDATA%\Autodesk\3dsMax\<version>\ENU\scripts\startup\

Open the copied startup_stub.ms and set MAXFORGE_REPO_PATH to wherever you cloned this repo. It starts the bridge on port 47823 automatically the next time Max launches. Three macroscripts (category "MaxForge MCP") are also registered for manual control — Start / Stop / Reload — so you can pick up code changes without restarting Max.

3. Point an MCP client at it

For Claude Code:

claude mcp add maxforge -- <repo>\.venv\Scripts\python.exe <repo>\server\max_mcp_server.py

Or wire server/max_mcp_server.py into any other MCP-compatible client's config the same way.

Safety

The socket only ever binds to 127.0.0.1 — never the network. This is a code-execution endpoint sitting inside a modeling app; it's designed to only be reachable from the same machine it runs on.

Status

Live-tested against a running Max 2025 session with a full assertion-based suite (29/29 checks) covering every tool, every error path, and an undo/redo round trip.

create_collision_proxy currently only builds a generic axis-aligned box — it isn't tuned to any specific game engine's collision format yet.

Adding a new tool

  1. Add a handler in max_side/commands.py, wrapped in undoable("MCP: ..."), registered in the COMMANDS dict.
  2. Add a matching wrapper in server/tools.py — its docstring is what the agent sees.
  3. Register it in the loop at the top of server/max_mcp_server.py.
  4. Run the "Reload MaxForge Bridge" macroscript in Max instead of restarting.

License

Copyright (c) 2026 .bluntman420. — see LICENSE.md. Free to use as-is; modification and redistribution of modified versions is not permitted.

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