Install & connect

Two steps: add the plugin to your project, then connect your agent with one click from the in-editor setup window. You should not need to edit a config file by hand.

1. Install the plugin

Fab / Launcher: install the plugin to your target Unreal Engine version, then enable it from the editor's plugin browser.

Manual source: copy PinWright into your project's Plugins folder, regenerate project files, build the editor target if Unreal asks, then open the editor and enable the plugin.

2. Connect your agent, one click

When you open the editor with the plugin enabled, the PinWright Setup window opens automatically (it also reopens if the server cannot start). You can reopen it any time from Tools → PinWright Setup.

The window shows the local address and a green Server listening status. Click Install next to your agent (Claude Code, Codex CLI, Cursor, Gemini CLI, or VS Code Copilot). That writes the agent's project config with the address already filled in and sets up authentication automatically. Restart or reload the agent and it connects.

For an agent without a button (Windsurf, Cline, or anything else), copy the Agent setup prompt from the window and paste it to your agent, which will configure itself.

Manual setup (fallback)

If you would rather configure by hand, or your agent is not listed, here are the per-agent files. Use the address shown in the setup window (the port can vary, see Ports below). “Project root” means the Unreal project the plugin is installed into.

Authentication: the one-click Install also sets up authentication for you. For a hand setup, use the exact config the setup window shows for your agent; it includes the auth, not just the address below.

Claude Code

Create or merge <project>/.mcp.json:

{
  "mcpServers": {
    "pinwright": { "type": "http", "url": "http://127.0.0.1:19880/mcp" }
  }
}

Codex CLI

Create or merge <project>/.codex/config.toml:

[mcp_servers.pinwright]
url = "http://127.0.0.1:19880/mcp"
startup_timeout_sec = 5.0
tool_timeout_sec = 300.0

Cursor

Merge into <project>/.cursor/mcp.json (no type key, Cursor auto-detects):

{
  "mcpServers": {
    "pinwright": { "url": "http://127.0.0.1:19880/mcp" }
  }
}

Gemini CLI

Create or merge <project>/.gemini/settings.json (the key is httpUrl, not url):

{
  "mcpServers": {
    "pinwright": { "httpUrl": "http://127.0.0.1:19880/mcp" }
  }
}

VS Code (GitHub Copilot)

Create or merge <project>/.vscode/mcp.json (top-level key is servers):

{
  "servers": {
    "pinwright": { "type": "http", "url": "http://127.0.0.1:19880/mcp" }
  }
}

Other clients

Ports

By default, Auto-derive Port From Project Path is on, so each project gets its own port in 1988030119 and several projects run side by side without colliding (two editors of the same project still share a port). To pin one fixed port instead, turn off Auto-derive Port From Project Path under Edit → Editor Preferences → Plugins → PinWright (the HTTP group) and set a fixed Http Port (it defaults to 19880). The setup window always shows the resolved address, so you never have to guess it; the 19880 in the examples above is just a placeholder.

Keep it local. The endpoint is loopback-only by default. Do not expose the port to a LAN, VPN, container, or the internet, and use it only with trusted local agents, since it can inspect and change your project's assets.

Next: Quickstart →