ð MCP
Ludus MCP lets external agents send tasks to Ludus inside your open Unreal Editor. Connect Claude Code, Codex, Cursor, or any other app that supports the Model Context Protocol, and start work from there: Ludus runs each task on its own in the editor, and your agent reads the result.
- Connection URL:
https://mcp.ludusengine.com/mcp - Transport: HTTP
- Sign-in: app.ludusengine.com, browser-based OAuth
Set upâ
- Open your Unreal project with Ludus installed.
- Sign in to the same Ludus account your MCP client will use.
- In the Ludus panel, open Settings and enable Allow external agents (MCP). It is off by default. See Settings.
- Add the connection URL to your MCP client and complete the sign-in. Instructions for each client are below.
The Integrations page in the web app has the same instructions with copy buttons, and one-click install for Cursor and VS Code.
How it worksâ
Your external agent sends a task. Ludus runs it visibly in the editor panel, using its editor tools, including Python. Tasks can modify your project, so enable access only for agents you trust.
Ludus works through a task without further input, but approval requests still need your response inside Unreal. See Approvals & Safety.
New conversations can use Agent, Agent Max, or Agent Lite, depending on your plan. See Modes. Replies can take minutes, so keep Unreal open and connected until a task finishes.
Behind the connection, the Ludus MCP server hosts the connection and sign-in, the Ludus API routes tasks and stores conversation state, and the plugin receives tasks and runs them inside Unreal.
Creditsâ
Tasks sent through MCP are billed the same way as messages you send in the plugin. See Credits & Costs.
Available toolsâ
| Tool | What it does |
|---|---|
list_editors | Finds connected editors and projects. Choose an editor_id when several are open. |
send_message | Starts a conversation or continues an existing one. Busy conversations queue messages. |
get_thread | Reads replies, pending messages, progress, errors, and approval requests. Check about every five seconds while a conversation is busy. |
list_threads | Finds existing conversations by title. |
cancel | Stops a reply and removes queued messages. |
get_account | Shows credits, plan, and available chat modes. |
Connect your clientâ
Claude Codeâ
- Install Claude Code:
npm install -g @anthropic-ai/claude-code - Add Ludus MCP:
claude mcp add --transport http ludus https://mcp.ludusengine.com/mcp - Start Claude Code:
claude - Sign in by typing
/mcp.
You can also add the connection to your project's .mcp.json file:
{
"mcpServers": {
"ludus": {
"url": "https://mcp.ludusengine.com/mcp"
}
}
}
Codexâ
- Install Codex:
npm i -g @openai/codex - Add Ludus MCP:
codex mcp add ludus --url https://mcp.ludusengine.com/mcp - If Codex does not ask you to sign in, run
codex mcp login ludus. - Start Codex:
codex
You can also add the connection to ~/.codex/config.toml, then sign in with codex mcp login ludus:
[mcp_servers.ludus]
url = "https://mcp.ludusengine.com/mcp"
Cursorâ
- Open Cursor Settings.
- Navigate to Tools & MCP.
- Click New MCP Server.
- Add the JSON configuration below.
- Cursor tries to connect and shows a Needs login prompt. Click it to authorize Cursor to access your Ludus account.
You can also add it to your project's .cursor/mcp.json file.
{
"mcpServers": {
"ludus": {
"url": "https://mcp.ludusengine.com/mcp"
}
}
}
VS Codeâ
-
Add the server from PowerShell:
code --add-mcp '{\"name\":\"ludus\",\"type\":\"http\",\"url\":\"https://mcp.ludusengine.com/mcp\"}'On macOS or Linux:
code --add-mcp '{"name":"ludus","type":"http","url":"https://mcp.ludusengine.com/mcp"}' -
Run MCP: List Servers, select
ludus, and choose Start Server.
You can also add the connection to your project's .vscode/mcp.json file:
{
"servers": {
"ludus": {
"type": "http",
"url": "https://mcp.ludusengine.com/mcp"
}
}
}
Gemini CLIâ
- Install Gemini CLI:
npm install -g @google/gemini-cli - Add Ludus MCP:
gemini mcp add --transport http ludus https://mcp.ludusengine.com/mcp - Start Gemini CLI:
gemini - Sign in by typing
/mcp auth ludus.
You can also add the connection to ~/.gemini/settings.json:
{
"mcpServers": {
"ludus": {
"httpUrl": "https://mcp.ludusengine.com/mcp"
}
}
}
Riderâ
- Make sure Node.js is installed.
- Open Settings.
- Navigate to Junie -> MCP Settings.
- Click Add.
- Add the JSON configuration below.
{
"mcpServers": {
"ludus": {
"command": "npx",
"args": ["-y", "mcp-remote@latest", "https://mcp.ludusengine.com/mcp"]
}
}
}
Visual Studioâ
- Add a new file at
<SOLUTIONDIR>\.mcp.jsonor%USERPROFILE%\.mcp.json. - Add the JSON configuration below.
- Click Manage Authentication above
ludusin.mcp.json.
{
"servers": {
"ludus": {
"url": "https://mcp.ludusengine.com/mcp"
}
}
}
Other clientsâ
If your client connects to remote HTTP servers, use the connection URL above. Otherwise, run Ludus MCP through mcp-remote (this needs Node.js):
{
"mcpServers": {
"ludus": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.ludusengine.com/mcp"]
}
}
}
Troubleshootingâ
| Your agent reports | What to do |
|---|---|
editor_offline | No editor is accepting external agents for this account. Check that your project is open, the plugin is signed in to the same account, and Allow external agents (MCP) is on. |
editor_ambiguous | More than one editor is open. Call list_editors and pass an editor_id. |
queue_full | The editor has reached its limit of pending messages. Wait for them to finish, or cancel a conversation. |
unavailable | Ludus is temporarily unavailable. Try again shortly. |